Rechte für Ordner und Dateien setzen
Dateirechte in Linux-Systemen getrennt nach Ordnern und Dateien auch für sehr große Dateisysteme anpassen
Oft muss man Dateien und Ordner nach einem Kopieren mit unterschiedlichen Rechten versehen. Ein „chmod 755 * -R“ ist zwar für Ordner sinnvoll, dann meistens für Dateien aber nicht (vor allem wenn der X-Bit-Hack für SSI verwendet wurde).
Die folgende Zeile setzt die Rechte rekursiv passend für den aktuellen und alle untergeordneten Ordner bzw. Dateien:
find -type d -print0 | xargs -0 chmod 755 && find -type f -print0 | xargs -0 chmod 644
# Empfohlen bei TYPO3:
find -type d -print0 | xargs -0 chmod 2770 && find -type f -print0 | xargs -0 chmod 0660
# Bei Mittwald:
find -type d -print0 | xargs -0 chmod 2775 && find -type f -print0 | xargs -0 chmod 0664
Erklärung zu xargs
Das Argument -print0 veranlasst GNU-find, den Dateinamen nicht wie üblich mit einem Linefeed-Zeichen, sondern mit einem Null-Byte abzuschließen. Dies ist das einzige Zeichen, das in einem Dateinamen nicht vorkommen kann. Es eignet sich deshalb ideal als Trennzeichen. Mit den komplementären Optionen -0 oder --null fasst xargs nur Null-Bytes als Trennzeichen auf.