Czy potrafisz krótko wyjaśnić główne pojęcia i narzędzia wiersza poleceń używane do zarządzania uprawnieniami do plików?
Czy potrafisz krótko wyjaśnić główne pojęcia i narzędzia wiersza poleceń używane do zarządzania uprawnieniami do plików?
Odpowiedzi:
Każdy plik ma prawa do trzech różnych kategorii:
Prawa oznaczają prawo do odczytu pliku, prawo do zapisu do pliku lub prawo do wykonania pliku w przypadku skryptu lub programu.
W interfejsie CLI możesz
chown
npchown guillermooo
chgrp
npchgrp root
chmod
, np. chmod u+w filename.ext
(Dodaje uprawnienia do zapisu dla właściciela pliku filename.ext
)Jeśli chcesz dowiedzieć się więcej o każdym z tych narzędzi, otwórz terminal i wpisz man [tool]
, np man chmod
.
chown guillermooo
nie powinno tak być chown guillermooo filename
?
Ostrzeżenie: zmiana uprawnień do plików i katalogów jest potencjalnie szkodliwa i może uniemożliwić korzystanie z systemu. Gdy uruchomimy się rekurencyjnie jako root na niewłaściwej ścieżce, możemy dojść do punktu, z którego będziemy musieli ponownie zainstalować Ubuntu. Dlatego dobrym pomysłem jest nie zmieniać uprawnień poza katalogami HOME i uruchamiać polecenia rekurencyjnie, ponieważ w miarę możliwości należy unikać rootowania.
Ubuntu odziedziczyło koncepcję uprawnień po Uniksie, gdy dla plików lub katalogów możemy zezwolić lub odmówić na trzy zadania:
( Przejście do katalogu zasadniczo oznacza użycie go jako części nazwy ścieżki. Więcej informacji można znaleźć na stronie https://unix.stackexchange.com/a/13891 lub https://unix.stackexchange.com/questions/21251 ).
Ponadto mamy trzy przypadki dotyczące tego, komu udzielamy pozwolenia:
Teraz, aby uzyskać kombinację tych posortowanych, używamy systemu binarnego, w którym każdy bit definiuje pozwolenie. Można to najlepiej pokazać w poniższej tabeli
Permission | Binary | Octal | User | Group | Other |
======================================================
r | 100 | 4 | | | |
w | 010 | 2 | | | |
x | 001 | 1 | | | |
=======================================================
Number
Teraz jeśli chcemy na przykład
a) właściciel pliku (= user) posiada r EAD w obrzędzie i e x ecute pozwolenie,
b) grupa przyznała plik za r EAD i e x ecute uprawnienia oraz
c) wszystkie inne powinny mieć tylko r dostępu EAD.
Następnie uprawnienie do wynikowego pliku będzie:
u g o
rwx r-x r--
Aby uzyskać to w liczbach ósemkowych, np. dla chmod
polecenia lub gdy musimy zrozumieć komunikat o błędzie, musimy wypełnić powyższą tabelę jak poniżej:
Permission | Binary | Octal | User | Group | Other |
======================================================
r | 100 | 4 | 4 | 4 | 4 |
w | 010 | 2 | 2 | 0 | 0 |
x | 001 | 1 | 1 | 1 | 0 |
======================================================
Numbers add to 7 5 4
Każdy numer pozwolenia musi zostać dodany, aby sumować się dla użytkownika (4 + 2 + 1 = 7), grupy (4 + 0 + 1 = 5) i innych (4 + 0 + 0 = 4). Wynikowa liczba to:
u g o
7 5 4
Mamy teraz dwie opcje zmiany bitów uprawnień za pomocą chmod
:
chmod u+rwx g+rx o+r filename
lub znacznie prościej z
chmod 751 filename
Oba polecenia zrobią to samo.
Domyślne zezwolenie na nowo utworzony plik w naszym domu to 664 (-rw-rw-r--).
Jeśli chcemy, aby pliki były wykonywane jako programy, będziemy musieli zmienić to uprawnienie.
Zauważ, że będziemy musieli również zmienić uprawnienia do katalogu, w którym może znajdować się plik wykonywalny. Tylko jeśli zarówno plik, jak i bit pliku wykonywalnego katalogu są ustawione, będziemy mogli uruchomić ten plik jako program.
Podczas kopiowania pliku do naszego domu traci on uprawnienia, które zostaną zastąpione naszymi własnymi domyślnymi uprawnieniami (chyba że kopiujemy przy użyciu opcji zaawansowanych, np. Opcji archiwizacji).
Należy również pamiętać, że plik może odziedziczyć swoje uprawnienia z punktu montowania, odpowiednio. opcje montowania. Jest to ważne podczas montowania dysków sformatowanych w systemie Windows, które nie obsługują uprawnień uniksowych.
Wkrótce zdajemy sobie sprawę, że to tylko połowa historii. Musimy także uporządkować rzeczy. Aby to zrobić, każdy plik lub folder ma zdefiniowanego właściciela i zdefiniowane członkostwo w grupie.
Za każdym razem, gdy tworzymy plik, będziemy jego właścicielem, a grupą plików również będziemy my. Dzięki ls -l
możemy zobaczyć uprawnienia, własność i grupę, jak widać z następującego przykładowego wyniku:
-rw-rw-r-- 1 takkat takkat 4096 Sep 12 20:25 test
- Możemy jedynie zmieniać uprawnienia, grupy lub własność pliku, który jest nasz.
Jeśli nie jesteśmy właścicielem pliku, otrzymamy Permission denied
błąd. Tylko root może to zmienić dla wszystkich plików. Właśnie dlatego musimy używać sudo
podczas edycji uprawnień do plików, które nie są nasze. Dostępne są dwa wbudowane polecenia chown
dla użytkowników i chgrp
grup.
Aby zmienić własność pliku z dowolnej osoby na inną, takkat
możemy wydać to polecenie:
sudo chown takkat testfile
Aby zmienić grupę plików, takkat
wydajemy
sudo chgrp takkat testfile
Przeczytaj strony poleceń, aby uzyskać więcej informacji i opcji. Jest też ten miły, bardziej rozbudowany przewodnik zalecany do dalszego czytania:
Znajdziesz tu także kilka powiązanych pytań: