Rechte erzwingen

XioniX

Member
Hallo,

ich hab hier ein Programm, das Ordner und Dateien scheinbar unabhängig von der umask Einstellung anlegt, Ordner mit 750 und Dateien mit 640, umask ist 022. Bei den Ordnern benötige ich aber mindestens 770. Gibt es also eine Möglichkeit, das irgendwie zu erzwingen? Vielleicht eine Art Programm, das die Rechte in einem Ordner überwacht o.ä. Es sollte aber auf jeden Fall nahezu instantan verlaufen.
 
Hi,

mal abgesehen davon, dass sich das ziemlich strange anhört, würde ich Dir für eine nahezu instant-Überwachung folgendes empfehlen:

Code:
echo "* * * * * root /usr/bin/find /pfad/worunter/die_rechte/geändert/werden/sollen/ -type d -print0 | xargs -0 chmod 770" >>/etc/crontab

Das erzeugt einen Cronjob, der im Minutentakt ausgeführt wird und die Rechte aller Verzeichnisse unterhalb von /pfad/worunter/die_rechte/geändert/werden/sollen/ auf 770.


-W
 
Naja, alle Minute ist schon zu spät.

Es geht um Folgendes: ich habe einen Apachen mit mpm-itk und mod_security2. Dieser MPM führt also den Apachen je nach vhost mit unterschiedlichem Benutzer aus. Mod_security2 legt nun für jeden versuchten Einbruch ne Datei und nen Ordner mit den Benutzer/Gruppe des Apachen an. Der Ordner hat als Namen das Format "yyyymmdd-hhmm", also für jede Minute einen Ordner, falls was detektiert wird. Nun kann es aber vorkommen, dass innerhalb einer Minute für 2 verschiedene Vhosts, also auch für 2 verschiedene User etwas detektiert wird. Dann wird ja der Ordner zunächst mit den Rechten 750 für den einen User angelegt und der kann auch sein Logfile da reinschreiben. Der zweite User hat Pech gehabt und bekommt ein Permission denied.

Daher fällt ein Cronjob schonmal aus und 86400 Ordner im Vorraus anlegen kanns auch nicht sein.
 
Last edited by a moderator:
Das musst du die Entwickler von mod_security fragen, die empfehlen das sogar für start frequentierte Server.

# Log files structure
#
# You can select to log all events to a single log file (set SecAuditLogType to
# "Serial") or to log each request to a separate file (set it to "Concurrent").
# The former is usually easier to use, but if full logging is required or if
# the protected system supports a large transaction volume the later may
# be a better option.

Wobei anzumerken ist, dass ich gerne Single File Logging benutzen würde, das aber genausowenig funktionniert bei einem Multiuser Apachen.
 
Als workaround könnte Dir incron helfen.

Dann eine Config ähnlich dieser schreiben:

Code:
/pfad/mit/logfiles/ IN_CREATE chmod 770 $@

Da das Verzeichnis dauernd überwacht wird, werden die Rechte fast sofort angepasst.
 
Back
Top