Kojarzysz problem, kiedy na lokalnym środowisku Ubuntu, Twój skrypt PHP, albo biblioteka Apache nie mogła zmodyfikować plików ze względu na problem z uprawnieniami? Albo nie można było edytować ręcznie plików stworzonych przez aplikację? Trzeba było wykorzystać chmod/chown do zmiany uprawnień. Jednak jest łatwiejsze rozwiązanie.
Częstym problemem z uprawnieniami jest to, że Apache pracuje jako inny użytkownik niż Ty i macie różne uprawnienia. Najpierw sprawdź użytkownika Apache::
ps -aux | grep apache
> www-data 3780 0.0 0.3 577456 65096 ? S lut14 0:01 /usr/sbin/apache2 -k start
Pierwsza kolumna to użytkownik, właściciel procesu. Więc za każdym razem, kiedy Apache tworzy pliki w Twoim lokalnym środowisku, uprawnienia są ustawione dla użytkownika www-data. Jeśli nie pamiętasz, upewnij się jak nazywa się Twój użytkownik:
whoami
> scriptun
Mój użytkownik to scriptun i wiemy, że Apache jest uruchomiony jako www-data.
To że Apache działa jako użytkownik www-data jest domyślnym zachowaniem świeżo po instalacji. Wygodnym i bezpiecznym rozwiązaniem na Twoim lokalnym środowisku będzie zmiana tego użytkownika na Twojego. Kiedy Apache będzie uruchamiany jako ten sam użytkownik co Ty, większość problemów z uprawnieniami się skończy.
Znajdź plik envvars i edytuj go. Możesz skorzystać z gedit na Gnome, kate na KDE, albo np. VIMa jeśli wiesz jak go później zamknąć ;)
sudo gedit /etc/apache2/envvars
kate /etc/apache2/envvars
Znajdziesz tu domyślnego użytkownika www-data:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Wstaw tutaj swoją nazwę, w moim przypadku to scriptun:
export APACHE_RUN_USER=scriptun
export APACHE_RUN_GROUP=scriptun
Zrestartuj Apache:
sudo service apache2 restart
Teraz sprawdź uruchomiony proces:
ps -aux | grep apache
> scriptun 8450 0.0 0.1 495276 17568 ? S 00:11 0:00 /usr/sbin/apache2 -k start
Problemy z uprawnieniami powinny się skończyć.
Dodaj komentarz