Potrzebuję pomocy przy ustawianiu prawidłowych uprawnień lub własności katalogu głównego dokumentu Apache. Oto czego potrzebuję:
- różne strony internetowe przechowywane w
/var/www/html/<site>
- dwóch użytkowników powinno aktualizować / zarządzać stronami za pośrednictwem ssh
- własność powinna być inna niż użytkownik apache (dla bezpieczeństwa)
W jaki sposób mogę to zrobić? W tej chwili wszystkie pliki można zapisywać na całym świecie, co nie jest dobre. Serwer działa w CentOS 5.5
Dzięki
Odpowiedzi:
Utwórz nową grupę
Dodaj użytkowników do grupy
Zmień własność katalogu witryn
Zmień uprawnienia do katalogu witryn
Teraz każdy może czytać pliki (w tym użytkownik apache), ale tylko root i webadmin mogą modyfikować ich zawartość.
źródło
umask
polecenie. Więcej informacji tutaj osr507doc.sco.com/en/OSUserG/_default_perms_new_file.htmlWolę zamontować partycję za pomocą -o acl. Pozwala to na użycie polecenia setfacl w celu nadania ustawionym drobiazgowym uprawnieniom plików i folderów, zamiast określania tylko uprawnień innych użytkowników.
Więc umieść acl w linii partycji w / etc / fstab, lub podłącz ponownie za pomocą mount -o remount, acl / mnt / xy, a następnie przekaż własność swojego katalogu internetowego nikomu: nikomu. Chmod do 770 i użyj setfacl, aby dać uprawnienia do zapisu tylko w folderach, które go potrzebują, np. nadaj www-data (lub użytkownikowi, na którym działa twój serwer) uprawnienia do zapisu dla folderu wysyłania i daj uprawnienia do zapisu własnemu użytkownikowi dla całego katalogu.
Teraz nikt nie może odczytać twoich plików oprócz twojego serwera i twojego użytkownika. Możesz pisać do każdego pliku w folderze, a serwer WWW może zapisywać tylko w folderze wysyłania.
źródło