Uprawnienia chmod, umask i profile
![Światła []](/images/permisos.png)
Ince S GNU / Linux jest dostępny z bogatym interfejsem graficznym, takie jak Gnome lub KDE, jeśli musimy zmienić uprawnienia dostępu do plików lub katalogów zazwyczaj zrobić za pomocą arkusza właściwości dla menedżera plików. , Ale czasami okazuje się, że podajemy kilka stylu oświadczenie, zmienić uprawnienia na 755 "lub" Załóż maskę 022 "Ale co to jest o 755 022? Lub byliśmy nieco zaskoczony, gdy w Ubuntu, widzimy, że możemy przeczytać domowe użytkowników innych katalogów Jak to możliwe?
Przyjmuje się następujący katalog:
-l jdoe @ ubuntu: ~ $ ls-l -07-05 1 :05 midirectorio drwxr-xr-x 2 jdoe MyGroup 2008 -07 do 05 stycznia 4096: 05 mydirectory jdoe migrupo 12 2008 -07-05 1 : 10 test -Rw-r - r - 1 jdoe MyGroup -07 do 05 grudnia 2008 1: 10 test
Mamy jeden plik o nazwie "test", tworzone przez nas, które zostały podane, domyślnie uprawnienia rw-r--r-- i mydirectory katalogu "również z uprawnień domyślnych rwxr-xr-x .
Pierwsze trzy znaki (-rw) stanowią uprawnień użytkownika, który jest właścicielem pliku (jdoe), trzy (r -) w grupie, do której należy plik (MyGroup), a ostatnie trzy (r -) do reszty użytkowników.
Z kolei uprawnienia przypisane są trzy: odczyt / odczyt (r), zapisu i zapisu (w) i wykonywania / wykonanie (x). Jak zmysły, jeśli skrypt w danym miejscu oznacza, że użytkownik lub grupy zainteresowanych użytkowników, nie ma takich uprawnień. Więc członkowie grupy "MyGroup" (r - -) tylko prawa do odczytu, ale nie pisz lub uruchomić jako łącznik znajduje się w miejscu "w" i "x".
Trochę arytmetyki binarnej
Take zezwoleń i zastąpić "0" i skrypty dla "1" każdy list, który pojawia się w miejscu i do konwersji na binarne dziesiętny ósemkowa (tylko trzy bity może stanowić od 0 do 7). Uprawnienia do plików i katalogów, będziemy w następujący sposób:
| Wpływa na | Zezwolenie | Podwójny | Ósemkowy | |
|---|---|---|---|---|
| użytkownik | rw- | 110 | 2 2 +2 1 +0 = 6 | ⇒ 644 |
| grupa | r - | 100 | 2 2 +0 +0 = 4 | |
| reszta | r - | 100 | 2 2 +0 +0 = 4 | |
| Wpływa na | Zezwolenie | Podwójny | Ósemkowy | |
|---|---|---|---|---|
| użytkownik | rwx | 111 | 2 2 +2 1 +2 0 = 7 | ⇒ 755 |
| grupa | rx | 101 | 2 2 +0 +2 0 = 5 | |
| reszta | rx | 101 | 2 2 +0 +2 0 = 5 | |
Uproszczenia
| Ósemkowy | Uprawnienia |
|---|---|
| 0 | - - - |
| 1 | - - X |
| 2 | - W - |
| 3 | - Wx |
| 4 | r - - |
| 5 | r - x |
| 6 | rw - |
| 7 | rwx |
Tak naprawdę nie potrzeba do tego obliczenia za każdym razem chcesz wiedzieć numerycznej reprezentacji pozwala; jest łatwy do zapamiętania przez mało używamy notacji.
Innym prostym sposobem sprawdzić, czy patrzymy na załączonej tabeli, jest jeden na uwadze, że 4, to odczytu, 2 na 1 na piśmie i wykonania. Więc jeśli mamy do udzielenia zgody na czytanie i pisanie to będzie: 4 +2 = 6. Jeżeli natomiast być przyznana odczytu i wykonania 4 +1 = 5.
Najczęściej uprawnienia są 755, 750, 644 i 640. Licencji 777 jest "niebezpieczne" i dajemy wszystkie uprawnienia dla wszystkich.
Modyfikacja uprawnień
Komenda do zmiany uprawnień jest chmod . Jak prawie wszystkie polecenia * NIX jest mój elastyczne. Nie chcąc zrobić kompleksowy tutorial, zobaczyć niektóre z ich zastosowań:
Załóżmy, że plik utworzony test na początku, to był skrypt i chcesz przyznać uprawnienia do wykonywania do użytkownika i grupy, i usunąć odczytu dla innych użytkowników.
Jednym ze sposobów całkowicie na nowo zdefiniować uprawnienia do pliku: To jest "długa", ale bardziej intuicyjny
=rwx, g =rx, o = test chmod u = rwx, g = rx, o = test
Wariant tej formy jest tylko odpowiednie zmiany do pierwotnego stanu:
chmod ug + x, lub test
Czyli "dodaj" (+) prawo wykonania dla użytkownika (u) i grupy (g), i "odjąć" (-) prawa do odczytu dla innych użytkowników (o)
Ale jest to najszybszy sposób:
test chmod 750 test
We wszystkich trzech przypadkach wynik jest ten sam:
jdoe migrupo 12 2008 -07-05 02: 15 test -Rwxr-x --- 1 jdoe MyGroup -07 do 05 15 grudnia 2008 02: test
Jako drugi przykład przypuśćmy, że chcemy cofnąć zezwolenie na odczyt i wykonanie katalogu mydirectory oraz wszystkie pliki i katalogi, które w niej innych użytkowników.
o-rx midirectorio chmod-R o-rx mydirectory
Chmod-R mówi do operacji rekurencyjnie na jego temat.
Maska praw
Na początku tworzymy plik w katalogu test i mydirectory, ale je tworzyć, nie muszą przydziela uprawnienia. System utrzymuje wartość o nazwie umask określa uprawnienia, domyślnie, za każdym razem tworzymy pliku lub katalogu. I mogą być zmienione w dowolnym momencie z polecenia umask .
Kiedy stworzyliśmy plik test z edytora tekstu, który chciał przypisać, spalić, o 666 pozwoleń. Czyli odczytu / zapisu dla wszystkich. Jednak wartość umask było 022. Wynikające z około 644 zezwoleń na plik.
Podobnie, gdy stworzyliśmy katalog z mkdir midirectorio System próbował przypisać pewne uprawnienia 777, czyli odczytu / zapisu / wykonania dla każdego. Ale spotkał się wcześniej maski (022) i zakończyła się około 755 pozwoleń na mydirectory.
Trochę logiki binarnej
Tej wartości umask nie binarnego maski, na próbach zapewnienia maksymalnego uprawnienia systemu:
umask 022 000 010 010 000 010 010 1's uzupełnienie umask na 111 101 101 111 101 101 I (& &) 110 110 110 (666) 111 111 111 (777) ------------ ------------ 110 100 100 (644) 111 101 101 (755)
Lub, o wiele łatwiej, jak proste "odjęcie" uprawnień:
666 777 022 (-) 022 (-) ---- ---- 644 755
Ubuntu: umask w praktyce
Maska 022 jest to, że Ubuntu jest wstępnie skonfigurowane dla gdy użytkownik dodaje. Ta maska, jeśli wspólny system jest zbyt liberalny, ponieważ pozwala każdemu odczytu i wykonania plików z katalogów domowych innych użytkowników.
Możemy zmienić tą wartość w każdym czasie. Aby zapobiec odczytu / zapisu / wykonania dla innych użytkowników, uruchom po prostu:
umask 027 Wartość ta będzie nadal działać, aż do sesji użytkownika, i jest ważne dla plików i katalogów w start-upy, ale zostanie przywrócony do 022 następnym razem łączymy i nie modyfikuje plików i katalogów na profilu użytkownika już utworzony.
Do "poprawnego" istniejące profile mogą być stosowane, na przykład, jeśli użytkownik "jdoe"
o-rwx / home / jdoe chmod-R o-rwx / home / jdoe
I edycji pliku /home/jdoe/.profile odkomentować i zmienić umask 027 , aby stały się scenerią przyszłości. Mimo, że ta zmiana wpłynie tylko użytkownik "jdoe.
Więc, że odtąd wszyscy nowi użytkownicy są tworzone bez odczytu / zapisu / wykonania dla wszystkich:
- Wspólne Edytuj profil
/etc/profilei wprowadzić te same zmiany:umask 027 - Edycja
/etc/adduser.confi modficamos:DIR_MODE=0750. Dostosowanie to nie jest absolutnie konieczne i będzie to zrobić, to nie możemy nawet wejść do katalogu domowego użytkownika zcd
Należy pamiętać, że cuaquier użytkownik może zastąpić tę wartość umask, zarówno z linii poleceń lub modyfikacji w swoim $HOME/.profile , bez zgody administratora.
Możemy znaleźć chmod lub wartości umask z czterech cyfr. Np. umask 0022. Pierwsza cyfra reprezentuje trzy bity specjalnych zezwoleń, które nie traktują o, które są wykorzystywane w niewielkim stopniu w normalnej pracy.
![[Strona główna]](/wp-content/themes/OATech265/images/home.png)
![[Strona główna]](/wp-content/themes/OATech265/images/feed.png)




































