= Uprawnienia do plików systemu eDokumenty = #uprawnienia === Menu === 1. [#uprawnienia_linux Uprawnienia w systemie Linux] a. [#uprawnienia_linux_naprawa Naprawa błędnie ustawionych praw] 2. [#uprawnienia_windows Uprawnienia w systemie Windows] a. [#windows_aktualizacja_edoki Uprawnienia podczas aktualizacji eDokumentów do wyższej wersji] == Uprawnienia w systemie Linux == #uprawnienia_linux 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, maildir, 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/bin /home/edokumenty/etc /home/edokumenty/files /home/edokumenty/maildir /home/edokumenty/repos /home/edokumenty/repository /home/edokumenty/public_html/apps/edokumenty/var /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 }}} ''Przejdź do [#uprawnienia menu]'' === Naprawa błędnie ustawionych praw === #uprawnienia_linux_naprawa Aby ustawić wcześniej nieprawidłowo ustawione uprawnienia W katalogu /home/edokumenty wykonać komendę: {{{ # Ustaw właściciela dla wszystkich plików (cały katalog /home/edokumenty/public_html) # Zmień i uprawnij do katalogu zmiennych zapisywanych przez serwer (var) sudo su cd /home/edokumenty chown -R edokumenty:users bin chown -R edokumenty:users etc chown -R edokumenty:users lib chown -R edokumenty:users public_html chown -R www-data:edokumenty public_html/apps/edokumenty/var chmod -R g+rwX public_html/apps/edokumenty/var chmod g+s public_html/apps/edokumenty/var chmod g+s public_html/apps/edokumenty/var/img chmod g+s public_html/apps/edokumenty/var/tmp chmod g+s public_html/apps/edokumenty/var/tpl chgrp -R edokumenty public_html/apps/edokumenty/var/cache chmod -R g+rwX public_html/apps/edokumenty/var/cache chown -R www-data:edokumenty public_html/apps/edokumenty/var/cache/tmpl chmod g+s public_html/apps/edokumenty/var/cache/tmpl chown -R edokumenty:users vendor chown www-data:edokumenty public_html/apps/edokumenty/config.inc chmod g+w public_html/apps/edokumenty/config.inc # Jeśli dodatkowo nieprawidłowo ustawione są uprawnienia do plików w repozytorium chown -R www-data:edokumenty files maildir repository repos public_ftp users chmod -R u+rwX,g+rwX,o-rwx files maildir repository repos public_ftp users find files maildir repos repository -type d | xargs chmod g+s # Ustaw uprawnienia dla podkatalogów katalogu backproc cd /home/edokumenty/public_html/apps/backproc chown -R www-data:edokumenty data logs pid chmod -R u+rwX,g+rwXs,o-rwx data logs pid }}} ''Przejdź do [#uprawnienia menu]''