Zmiana uprawnień pojedynczego pliku jest prosta za pomocą chmod. Robienie tego dla całego drzewa katalogów — setek plików i folderów — to miejsce, w którym ludzie najczęściej się mylą. Polecenie chmod -R 755 działa, ale czyni wykonywalnymi wszystkie pliki, co jest nieprawidłowe dla zwykłych plików internetowych. Ten przewodnik obejmuje polecenia rekurencyjne i, co ważniejsze, prawidłowy sposób ustawiania różnych uprawnień dla plików i katalogów.

Podstawy: chmod -R

Flaga -R (rekurencyjnie) stosuje chmod do katalogu i wszystkiego, co się w nim znajduje:

chmod -R 755 /path/directory

Ustawia to 755 dla wszystkich plików i folderów. Dla katalogów jest to w porządku, ale pliki zwykle nie powinny być wykonywalne — więc stosowanie 755 do wszystkiego nie jest tym, czego chcesz dla strony internetowej.

Prawidłowy sposób: pliki 644, katalogi 755

Standardowe, bezpieczne uprawnienia to 644 dla plików (odczyt/zapis dla właściciela, odczyt dla innych) i 755 dla katalogów (które potrzebują bitu execute, aby można było do nich wejść). Użyj find, aby zastosować każde prawidłowo:

# ustaw wszystkie katalogi na 755:
find /path/directory -type d -exec chmod 755 {} \;

# ustaw wszystkie pliki na 644:
find /path/directory -type f -exec chmod 644 {} \;

To polecenie używane przez doświadczonych administratorów. -type d dopasowuje katalogi, -type f dopasowuje pliki, więc każde otrzymuje odpowiednie uprawnienia w jednym przebiegu.

Rekurencyjna zmiana właściciela (chown)

Uprawnienia i właściciel to osobne rzeczy. Aby rekurencyjnie zmienić właściciela i grupę — na przykład na użytkownika serwera WWW:

sudo chown -R www-data:www-data /path/directory

Zastąp www-data odpowiednim użytkownikiem dla Twojej konfiguracji (np. nginx, apache lub Twoją nazwą użytkownika).

Nigdy nie używaj chmod -R 777. Daje to każdemu użytkownikowi pełny dostęp do odczytu, zapisu i wykonywania, co jest poważnym zagrożeniem bezpieczeństwa i częstą przyczyną zhakowanych stron. Jeśli coś działa tylko z 777, prawdziwy problem leży we własności, a nie w uprawnieniach — napraw to za pomocą chown.

Szybka ściągawka

Uprawnienie Znaczenie Używać do
644 Właściciel: odczyt/zapis, inni: odczyt Pliki
755 Właściciel: pełny dostęp, inni: odczyt/wykonanie Katalogi, skrypty
600 Tylko właściciel: odczyt/zapis Prywatne konfiguracje, klucze
777 Pełny dostęp dla wszystkich Unikać — ryzyko bezpieczeństwa