www-uprawnienia danych?

Więc mam katalog w /var / www (o nazwie cake) i muszę zezwolić www-data, aby do niego pisać, ale chcę również do niego pisać (bez konieczności używania sudo). Boję się zmienić uprawnienia na 777 w przypadku, gdy jakiś inny użytkownik na moim komputerze (lub haker) próbuje zmodyfikować pliki w tym katalogu. Jak mogę zezwolić na dostęp tylko dla siebie i danych WWW Apache?

Author: q3d, 2012-02-03

2 answers

sudo chown -R yourname:www-data cake

Then

sudo chmod -R g+s cake

Pierwsze polecenie zmienia właściciela i grupę Drugie polecenie dodaje atrybut s, który zachowa nowe pliki i katalogi w cake o tych samych uprawnieniach grupy

 135
Author: James L.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-03 17:46:23

Jak podano w artykule autorstwa Slicehost :

Konfiguracja użytkownika

Zacznijmy więc od dodania głównego użytkownika do grupy użytkowników Apache:

sudo usermod -a -G www-data demo

Dodaje użytkownika 'demo' do grupy 'www-data'. Upewnij się, że używasz zarówno opcje-a, jak i-G z Komendą usermod pokazaną powyżej.

Musisz się wylogować i zalogować ponownie, aby włączyć grupę zmiana.

Sprawdź teraz grupy:

groups
...
# demo www-data

Więc teraz jestem członek dwóch grup: My own (demo) I The Apache group (www-data).

Konfiguracja folderu

Teraz musimy upewnić się, że folder public_html jest własnością głównego użytkownika (demo) i jest częścią Grupy Apache (www-data).

Ustawmy to:

sudo chgrp -R www-data /home/demo/public_html

Ponieważ mówimy o uprawnieniach, dodam szybką notkę dotyczącą polecenie sudo: dobrym nawykiem jest używanie ścieżek bezwzględnych (/home / demo / public_html) jak pokazano powyżej, a nie ścieżki względne (~/public_html). Zapewnia, że sudo jest używane we właściwym miejsce.

Jeśli masz folder public_html z dowiązaniami symbolicznymi to bądź ostrożnie z tym poleceniem, ponieważ będzie podążać za dowiązaniami symbolicznymi. W tych przypadki działającego folderu public_html, Zmień każdy folder ręcznie.

Setgid

Jak na razie dobrze, ale pamiętaj, że polecenie, które właśnie podaliśmy, dotyczy tylko istniejące foldery. A co z czymś nowym?

Możemy ustawić własność tak, aby wszystko co nowe było również w "www-dane" Grupa.

Pierwsze polecenie zmieni uprawnienia dla public_html katalog zawierający bit "setgid":

sudo chmod 2750 /home/demo/public_html

, które zapewnią, że wszystkie nowe pliki otrzymają grupę 'www-data'. Jeśli masz podkatalogi, będziesz chciał uruchomić tę komendę dla każdego podkatalog (ten typ uprawnień nie działa z '- R'). Na szczęście nowe podkatalogi będą tworzone z bitem 'setgid' Ustaw automatycznie.

Jeśli potrzebujemy aby umożliwić dostęp zapisu do Apache, do katalogu uploads na przykład ustaw uprawnienia dla tego katalogu w następujący sposób:

sudo chmod 2770 /home/demo/public_html/domain1.com/public/uploads

Uprawnienia muszą być ustawione tylko raz, ponieważ nowe pliki będą automatycznie przypisać właściwą własność.

 41
Author: Kwadz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-18 22:14:40