Ponieważ Linux jest systemem operacyjnym dla wielu użytkowników, posiada mechanizm, który ustawia i zarządza uprawnieniami do plików, aby zapewnić, że tylko autoryzowani użytkownicy i procesy mają dostęp do różnych katalogów i plików. Podczas korzystania z Linuksa możesz napotkać różne przypadki, w których nie możesz edytować plików lub katalogów z powodu błędu „Odmowa uprawnień”, co oznacza, że nie masz niezbędnych uprawnień. Ten samouczek pokaże Ci, jak rekursywnie zmieniać uprawnienia do plików w systemie Linux, aby upewnić się, że ustawienia uprawnień dotyczą podfolderów i plików.
Jak sprawdzić uprawnienia do plików w systemie Linux
Gdy podczas operacji na pliku lub katalogu wystąpi błąd „odmowa uprawnień”, zacznij od sprawdzenia uprawnień przypisanych do użytkownika, grupy i innych osób.
Aby to zrobić, możesz użyć ls -l
Komenda. Na przykład poniżej znajdują się uprawnienia do różnych plików i katalogów w katalogu „/ var”.

Powyższe dane wyjściowe zawierają szczegółowe informacje.
- Pierwsza kolumna reprezentuje uprawnienia do katalogów i plików. Pierwsza litera tej kolumny wskazuje typ:
d
oznacza katalog,l
reprezentuje dowiązanie symboliczne i-
zwykły plik. - Pozostałe dziewięć znaków jest pogrupowanych w trzy zestawy:
u
Nazwa Użytkownika,g
grupa io
Właściciel wskazuje uprawnienia pliku lub katalogu.r
wskazuje uprawnienia „odczyt”,w
wskazuje uprawnienia „zapisu” iX
wskazuje uprawnienia do wykonywania.

Znając uprawnienia do swojego katalogu roboczego lub pliku, możesz je łatwo zmienić.
Jak używać chmod do zmiany uprawnień do plików
chmod
Polecenie to najłatwiejszy sposób na zmianę uprawnień do plików w systemie Linux. Ogólna składnia polecenia to:
chmod {permission}{operator}{mode}
- Uprawnienie — reprezentuje uprawnienia przyznane użytkownikowi, grupie, właścicielowi lub wszystkim.
- Operator — wskazuje uprawnienia przyznane osobie, której udzielono zezwolenia:
+
dać pozwolenie,-
odmawia uprawnień i=
określa, jakie uprawnienia należy ustawić. - Tryb: dyktuje to, jakie uprawnienia należy ustawić:
r
czytać,w
Pisz alboe
biegać.
Na przykład, aby odmówić wszystkim prawa zapisu do katalogu kopii zapasowej w katalogu „/ var”, możesz użyć polecenia:
sudo chmod -w /var/backups
Chociaż zmieniasz uprawnienia plików za pomocą chmod
Polecenie działa, zmienia tylko uprawnienia do pliku dla określonego katalogu lub pliku.
Na szczęście możesz rekursywnie zmieniać uprawnienia do pliku w katalogu lub pliku oraz jego podkatalogach i plikach. Aby to zrobić, użyj rekurencyjnego polecenia chmod -r
opcja.
Na przykład usuńmy rekursywnie read
uprawnienia do katalogu „/ var / backup” oraz wszystkich jego plików i podkatalogów. Aktualne zezwolenia to:
drwxrwxrwx 2 root root 4096 Jul 15 06:25 backups
Teraz biegnijmy chmod
rekursywnie, aby zmienić uprawnienia:
sudo chmod –r -r /var/backups
Teraz możesz zobaczyć, że zmieniły się uprawnienia do plików.

Uprawnienia do cyklicznych zmian z wyszukiwaniem
Generalnie nie będziesz konfigurować plików i katalogów z podobnymi uprawnieniami. Dzieje się tak, ponieważ potrzebujesz uprawnień do wykonywania, aby móc cd
w określonym katalogu. Jednak większość plików nie wymaga tego uprawnienia do wykonywania.
Aby to przezwyciężyć, możesz użyć find
narzędzie w systemie Linux. Dzięki temu możesz wyszukiwać tylko określone pliki lub katalogi i ustawiać do nich uprawnienia.
Weźmy katalog „/ var / log”. Katalog zawiera zarówno pliki, jak i katalogi.

Aby ustawić określone uprawnienia tylko dla plików, możemy użyć polecenia wyszukiwania z -type f
opcja.
Zobacz przykładowe polecenie poniżej:
sudo find /var/log/ -type f -exec chmod 777 {} ;
W powyższym przykładzie użyliśmy polecenia search do wyszukania plików w katalogu „/ var / log”, a następnie ustawiliśmy uprawnienia do odczytu, zapisu i wykonywania dla użytkowników, grup i wszystkiego.
To samo możemy zrobić z katalogami. W tym przypadku określamy -type d
aby uzyskać tylko katalogi.
Na przykład:
sudo find /var/log/ -type d -exec chmod 755 {} ;
W powyższym przykładzie ustawiliśmy uprawnienie 755 tylko dla katalogów, a nie dla plików i katalogów.
Możesz to sprawdzić za pomocą ls -la
Komenda.

Zauważysz, że wszystkie pliki mają uprawnienia 777, podczas gdy katalogi mają uprawnienia 755.
Podsumowując
Umiejętność zmiany uprawnień do plików w systemie Linux jest podstawową umiejętnością, ponieważ pomaga zapobiegać nieautoryzowanemu dostępowi i modyfikacjom różnych plików i katalogów. W międzyczasie możesz także zmienić właściciela pliku, aby ograniczyć dostęp do pliku lub użyć listy kontroli dostępu am, aby jeszcze dokładniej kontrolować uprawnienia do plików w systemie Linux.
.
Czy ten artykuł jest przydatny?