Strona 1 z 1

Serwer nginx i php-fpm - uprawnienia

: 09 maja 2013, 08:18
autor: razz87
Witam.

Przymierzam się do konfiguracji serwera z takimi usługami dla użytkownika jak: ssh, www, php (reszta jest bez znaczenia).

Serwerem www będzie nginx, a php będzie działało jako php-fpm z prawami danego użytkownika. I tu pojawia się problem, chcę aby każdy użytkownika miał do swojego katalogu domowego maksymalnie:

Kod: Zaznacz cały

umask 0027
(czyli prawa dostępu 750). O ile php będzie miało uprawnienia to już serwer. który będzie pracował jako użytkownik www-data już nie.

Widzę dwa rozwiązania.

Pierwsze, przenieść wszystkie pliki do przykładowo katalogu /var/www i ustawić odpowiednie prawa dla użytkowników, ale chciałbym aby użytkownicy mieli dostęp do tych plików przez ssh/ftp, a tworzenie skrótów chyba nie jest najlepszym rozwiązaniem.

Druga opcja, która przychodzi mi do głowy to dodanie użytkownika www-data do grupy indywidualnej użytkownika, ale to nie jest najładniejsze rozwiązanie.

Chętnie poczytam w jaki sposób Wy rozwiązujecie takie problemy.

: 09 maja 2013, 10:41
autor: Bastian
Pytanie czy jak php będzie działało jako php-fpm to czy wszystkie pliki zapisywane do katalogów użytkowników nie będą miały uprawnień indywidualnych użytkowników? Nie jestem teraz pewien.
Pierwsze, przenieść wszystkie pliki do przykładowo katalogu /var/www i ustawić odpowiednie prawa dla użytkowników, ale chciałbym aby użytkownicy mieli dostęp do tych plików przez ssh/ftp, a tworzenie skrótów chyba nie jest najlepszym rozwiązaniem
FTP można skonfigurować żeby użytkownicy mieli tam dostęp. Odnośnie ssh to przecież jak dasz uprawnienia odpowiednie to użytkownicy będą mieli tam dostęp.

: 09 maja 2013, 11:48
autor: ara
A nie możesz dodać użytkownika do grupy www-data
http://pastebin.com/VbpyCxrJ

To jest skrypt, który tworzy domeny/katalogi wraz z użytkownikami, przypisuje użytkownikom domeny/katalogi itp. Skrypt może wyświetlać błędami. Do przerobienia na pewno będzie utworzony plik .conf w katalogu nginxa. Niestety nie wiem jak go przerobić
Przeczytaj i przerób pod siebie.

U mnie wszystko działało z vsftpd i autoryzacją w postgresie (dostęp przez ftp).
Jak coś to pytaj.

: 12 maja 2013, 01:36
autor: Pad19
Ja mam tak dokładnie zrobione, php jest uruchamiane z uprawnieniami użytkowników, wiec nie ma najmniejszego problemu z działaniem skryptów po transferze przez sftp/ftp. Wszystkie pliki i foldery standardowo mają prawa dostępu 750. Nginx działa jako użytkownik www-data i nie ma problemu z dostępem do tych plików, wszystko działa bez dodawania użytkowników do grupy www-data czy odwrotnie.

: 14 maja 2013, 12:54
autor: razz87
Pad19, sprawdź proszę uprawnienia dla katalogów. Nie wierze że użytkownik www-data jest wstanie odczytać pliki z katalogu dla którego prawa dostępu są ustawione na 750.

: 14 maja 2013, 20:24
autor: Yampress
Ze względów bezpieczeństwa najlepiej jeśli dane są na innym użytkowniku/grupie niż działa serwer www. Gdy ktoś przejmie serwer do danych za bardzo nie ma się jak dostać.

Wiadomo dane i serwer na tych samych użytkownikach i grupach stwarzają mniej problemu przy nadawaniu uprawnień i jest to najczęstsza praktyka.

: 14 maja 2013, 22:54
autor: Pad19
razz87 pisze:Pad19, sprawdź proszę uprawnienia dla katalogów. Nie wierze że użytkownik www-data jest wstanie odczytać pliki z katalogu dla którego prawa dostępu są ustawione na 750.
Faktycznie masz rację, późno już było i głupoty napisałem, no i sama konfiguracja dawno była i trochę z głowy wyleciało.

Mam zrobione tą brzydką metodą, o której napisałeś w pierwszym poście:

Kod: Zaznacz cały

usermod -aG $USERNAME www-data

Sama metoda nie jest chyba taka zła jak napiszesz sobie prosty skrypt, który będzie to wpisywał za Ciebie. Wtedy możesz nawet zapomnieć, że w ogóle coś takiego robisz tak jak ja.