Ich habe gerade das Tool OpenTimeTool auf einem Server installiert. Im Paket sind alle Dateien und Verzeichnisse mit 777 Rechten vorhanden. Man sollte wenn die Kiste im Internet steht die Berechtungungen schon ein wenig restriktiver vergeben. Normalerweise haben Dateien auf einem Webserver eine 644 Maske und Verzeichnisse eine 755 Maske.
foo@bar:/var/www/bar/opentimetool/test# ls -la insgesamt 2404 drwxr-xr-x 7 root root 4096 2011-07-21 15:10 . drwxr-xr-x 8 foo foo 4096 2011-07-21 15:10 .. -rwxrwxrwx 1 root root 9513 2011-04-18 22:12 CHANGELOG drwxrwxrwx 3 root root 4096 2011-04-18 22:25 classes -rwxrwxrwx 1 root root 1371 2008-10-21 21:20 config-local.php.dist -rwxrwxrwx 1 root root 8179 2011-04-18 22:12 config.php -rwxrwxrwx 1 root root 3642 2011-01-05 00:10 db_upgrade.php drwxrwxrwx 3 root root 4096 2011-04-18 22:25 docs drwxrwxrwx 9 root root 4096 2011-04-18 22:25 htdocs drwxrwxrwx 15 root root 4096 2011-04-18 22:25 includes -rwxrwxrwx 1 root root 1546 2008-03-18 15:45 index.php -rwxrwxrwx 1 root root 22871 2011-01-05 00:10 init.php -rwxrwxrwx 1 root root 2983 2008-09-22 18:51 INSTALL -rwxrwxrwx 1 root root 2403 2008-09-22 18:51 INSTALL.de -rwxrwxrwx 1 root root 18009 2008-03-18 15:45 LICENSE -rwxrwxrwx 1 root root 17 2008-03-18 15:45 media -rwxrwxrwx 1 root root 856 2008-03-18 15:45 messages.php -rwxrwxrwx 1 root root 717 2008-10-21 21:20 mobile_access.README drwxrwxrwx 2 root root 4096 2011-04-18 22:25 mobile_login -rwxrwxrwx 1 root root 63312 2010-09-09 10:24 mysql.sql -rw-r--r-- 1 root root 2201345 2011-04-27 22:02 openTimetool_2.3.1.tar.gz -rwxrwxrwx 1 root root 214 2008-03-18 15:45 phpinfo.php -rwxrwxrwx 1 root root 676 2008-03-18 15:45 README -rwxrwxrwx 1 root root 915 2008-03-18 15:45 SafeMode.README -rwxrwxrwx 1 root root 709 2008-03-24 21:18 Suhosin-README.txt -rwxrwxrwx 1 root root 10215 2008-03-18 15:45 TODO -rwxrwxrwx 1 root root 10761 2010-02-09 09:59 translate_de.sql -rwxrwxrwx 1 root root 9243 2010-02-09 09:59 translate_en.sql -rwxrwxrwx 1 root root 982 2010-02-09 09:59 update.README
Mit den Linuxboardmitteln kann man sich viel Arbeit sparen. Mit „find“ kann ich einen Parameter -type mitgeben wo ich entweder Dateien (f = Files) oder Verzeichnisse (d = Directory) als Ergebnis zurückgeben lassen kann. Mit dem Parameter -exec kann ich anschließend direkt ein Kommando ausführen und das gefundene als Parameter ({}) mitgeben.
find /var/www/bar/opentimetool/test -type f -exec chmod 644 {} \; find /var/www/bar/opentimetool/test -type d -exec chmod 755 {} \;
Zuletzt sollte man noch den Benutzer und die Gruppe richtig setzen.
chown www-data:www-data -R /var/www/bar/opentimetool/test
Das Resultat sieht dann wie folgt aus:
foo@bar:/var/www/opentimetool/test# ls -la insgesamt 2404 drwxr-xr-x 7 www-data www-data 4096 2011-07-21 15:10 . drwxr-xr-x 8 foo foo 4096 2011-07-21 15:10 .. -rw-r--r-- 1 www-data www-data 9513 2011-04-18 22:12 CHANGELOG drwxr-xr-x 3 www-data www-data 4096 2011-04-18 22:25 classes -rw-r--r-- 1 www-data www-data 1371 2008-10-21 21:20 config-local.php.dist -rw-r--r-- 1 www-data www-data 8179 2011-04-18 22:12 config.php -rw-r--r-- 1 www-data www-data 3642 2011-01-05 00:10 db_upgrade.php drwxr-xr-x 3 www-data www-data 4096 2011-04-18 22:25 docs drwxr-xr-x 9 www-data www-data 4096 2011-04-18 22:25 htdocs drwxr-xr-x 15 www-data www-data 4096 2011-04-18 22:25 includes -rw-r--r-- 1 www-data www-data 1546 2008-03-18 15:45 index.php -rw-r--r-- 1 www-data www-data 22871 2011-01-05 00:10 init.php -rw-r--r-- 1 www-data www-data 2983 2008-09-22 18:51 INSTALL -rw-r--r-- 1 www-data www-data 2403 2008-09-22 18:51 INSTALL.de -rw-r--r-- 1 www-data www-data 18009 2008-03-18 15:45 LICENSE -rw-r--r-- 1 www-data www-data 17 2008-03-18 15:45 media -rw-r--r-- 1 www-data www-data 856 2008-03-18 15:45 messages.php -rw-r--r-- 1 www-data www-data 717 2008-10-21 21:20 mobile_access.README drwxr-xr-x 2 www-data www-data 4096 2011-04-18 22:25 mobile_login -rw-r--r-- 1 www-data www-data 63312 2010-09-09 10:24 mysql.sql -rw-r--r-- 1 www-data www-data 2201345 2011-04-27 22:02 openTimetool_2.3.1.tar.gz -rw-r--r-- 1 www-data www-data 214 2008-03-18 15:45 phpinfo.php -rw-r--r-- 1 www-data www-data 676 2008-03-18 15:45 README -rw-r--r-- 1 www-data www-data 915 2008-03-18 15:45 SafeMode.README -rw-r--r-- 1 www-data www-data 709 2008-03-24 21:18 Suhosin-README.txt -rw-r--r-- 1 www-data www-data 10215 2008-03-18 15:45 TODO -rw-r--r-- 1 www-data www-data 10761 2010-02-09 09:59 translate_de.sql -rw-r--r-- 1 www-data www-data 9243 2010-02-09 09:59 translate_en.sql -rw-r--r-- 1 www-data www-data 982 2010-02-09 09:59 update.README