Serwer nginx i php-fpm - uprawnienia

Konfiguracja serwerów, usług, itp.
razz87
Posty: 23
Rejestracja: 21 maja 2012, 19:52

Serwer nginx i php-fpm - uprawnienia

Post 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.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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.
ara
Posty: 24
Rejestracja: 02 stycznia 2008, 23:14

Post 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.
Pad19
Posty: 29
Rejestracja: 11 listopada 2010, 11:32

Post 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.
razz87
Posty: 23
Rejestracja: 21 maja 2012, 19:52

Post 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.
Awatar użytkownika
Yampress
Administrator
Posty: 6400
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post 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.
Pad19
Posty: 29
Rejestracja: 11 listopada 2010, 11:32

Post 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.
ODPOWIEDZ