Strona 1 z 1

Serwer LAMP - uprawnienia www-data

: 13 sierpnia 2015, 00:15
autor: ag
Witam,
Temat był już poruszany kilkukrotnie ale odpowiedzi nie były w 100% kompletne lub każdy podawał inne rozwiązanie. Dlatego chciałem dopytać o ogólnie przyjęty standard uprawnień przy kilku domenach i użytkownikach na serwerze.

Sytuacja jest następująca, jest kilku użytkowników (www1, www2, www3, itd.) każdy z nich w swoim katalogu domowym ma katalog public_html i tam trzyma swoją stronę.
W przypadku prostych stron, nie ma problemu wszystko działa. Schody zaczynają się gdy korzysta się z PHP, który potrzebuje coś zapisać, np. logi, pliki wysyłane przez formularz na serwer, itd. Jak powinny wyglądać uprawnienia w tak standardowej sytuacji? Jak to jest rozwiązane na zwykłych, najprostszych hostingach?

Najlepiej na konkretnym przykładzie, gdy użytkownik ma możliwość ze strony WWW wysłać na serwer zdjęcia do konkretnego katalogu.

Obecnie mam to tak rozwiązanie, że np. www1 jest właścicielem plików oraz jest w grupie razem z www-data. Katalog gdzie pliki są zapisywane ma chmod 775 ale są następujące problemy:
- 775 to nie jest optymalne rozwiązanie
- po wrzuceniu plików mają one chmod 644 więc PHP już nic nie może z nimi zrobić (przenieść, zmienić nazwę, itd.)
- można by było ustawić www-data jako właściciela tego konkretnego katalogu ale: Po 1, jest to raczej mało bezpieczne. Po 2, łącząc się przez ftp użytkownik www1 nic nie może z tymi plikami zrobić

Musi być jakiś standardowy sposób przecież to jest fundamentalna sprawa dla serwerów LAMP. Bardzo prosiłbym o konkretne opisane rozwiązanie niż w innych tego typu wątkach, na pewno to się przyda innym.

Pozdrawiam,
ag

: 13 sierpnia 2015, 07:17
autor: LordRuthwen
Uruchom PHP dla każdego vhosta za pomocą CGI z użytkownika do którego należy katalog.

: 19 sierpnia 2015, 20:22
autor: Andyk
Nie potrzeba aż CGI można wykorzystać moduł apache2 http://mpm-itk.sesse.net i uruchomić v-hosta na uprawnieniach usera. Minus taki, że straci się trochę na wydajności w porównaniu do apacha na single user, ale to kilka procent. Przy bardzo dużym ruchu dopiero zaczyna to mieć znaczenie.