= Uprawnienia do plików systemu eDokumenty = Pliki systemu eDokumenty ze względu na prawa dostępu można podzielić na 3 grupy. 1. Pliki źródłowe aplikacji do których nie chcemy żeby użytkownik serwera (www-data) mógł modyfikować. (czyli katalog public_html) 2. Pliki źródłowe aplikacji które powinny być możliwe do modyfikacji przez aplikację, (katalog var) 3. Pliki utworzone przez instalator lub aplikację w trakcie użytkowania - ich właścicielem jest www-data. Ale chcemy żeby również user edokumenty miał do nich dostęp. (Są to katalogi z plikami: files, repos, repository) Do prawidłowego działania wymagane jest aby użytkownik serwera (np. www-data) posiadał prawo do zapisu do niektórych zasobów. Przyjęliśmy zasadę że prawo do zapisu przyznane zostanie poprzez specjalną grupę ''edokumenty'' do której dopisywany jest użytkownik serwera. Poniższa lista prezentuje wszystkie z nich, które tego wymagają. {{{ /home/edokumenty/files /home/edokumenty/repos /home/edokumenty/repository /home/edokumenty/public_html/apps/edokumenty/var /home/edokumenty/public_html/apps/edokumenty/cache /home/edokumenty/public_html/apps/edokumenty/config.inc }}} W przypadku katalogów w których serwer może tworzyć kolejne katalogi, wymagane jest ustawienie sgida dla grupy, dzięki czemu kolejne katalogi tworzone w nich otrzymają grupę z katalogu powyżej - czyli w praktyce nadana im zostanie grupa ''edokumenty'' {{{ [root@edokumenty files]# ls -l ls -l drwxrwsr-x 3 edokumenty edokumenty 4096 2009-09-24 15:57 files_1 }}} == Naprawa błędnie ustawionych praw == Aby ustawić wcześniej nieprawidłowo ustawione uprawnienia W katalogu /home/edokumenty wykonać komendę: {{{ # 1. dla wszystkich plików (cały kod źródłowy) chown -R edokumenty:users public_html # 2. dla plików obecnych w paczce chgrp -R edokumenty public_html/apps/edokumenty/var public_html/apps/edokumenty/cache chmod -R g+rwsX public_html/apps/edokumenty/var public_html/apps/edokumenty/cache # 3. dla plików utworzonych po instalacji przez program chown -R www-data:edokumenty files repository repos chmod -R u+rwX,g+rwX,o-rwx files repository repos find files repos repository -type d | xargs chmod g+s chown www-data:edokumenty public_html/apps/edokumenty/config.inc chmod g+w public_html/apps/edokumenty/config.inc }}}