Linux Shell Sticky Bit Używanie i przykłady
- 887
- 27
- Maria Piwowarczyk
Zanim porozmawiamy o tym, co jest lepkim kawałkiem, zacznijmy od wyjaśnienia, dlaczego tego potrzebujemy. Na przykład mamy katalog /var/share
Gdzieś na systemie plików z pełnym dostępem dla wszystkich grup uprawnień, które są właścicielem, grupą i dowolnymi, dlatego wszystkie bity uprawnień są ustawione na „włączone” drwxrwxrwx
:
# ls -ld/var/share/drwxrwxrwx. 2 Root root 4096 marca 5 11:02/var/share/
Z powyższego widzimy, że każdy użytkownik przeczytał, zapisz i wykonuje uprawnienia do /var/share
informator. Następnie w naszym scenariuszu mamy dwóch nazwisk użytkowników użytkownik 1
I Użytkownik2
. Ponieważ wszyscy mają teraz dostęp /var/share
katalog, nasz użytkownik 1
może przejść do tego katalogu i po prostu utworzyć dowolny dowolny plik:
user1@localHost ~] $ cd/var/share/[user1@localHost Share] $ Touch File1 [User1@localHost Udostępnij] $ ls -l file1 -RW -RW -R--. 1 użytkownik
plik 1
został utworzony za pomocą bitu uprawnienia przez użytkownika Umask
wartość oraz własność użytkownika i grupy jest ustawiona na jego twórcę użytkownik 1
. Jak dotąd nie mamy problemów i wszystko działa idealnie zgodnie z przeznaczeniem. Później nasz Użytkownik2
nawigia do /var/share
katalog i decyduje o zmianie nazwy lub usunięcia plik 1
Do plik2
:
[User2@FocalHost Udział] $ cd/var/share/[user2@localHost Udział] $ ls -l Total 0 -RW -RW -R--. 1 Użytkownik1 0 marca 5 11:20 plik--. 1 użytkownik? y [user2@localHost Udostępnij] $ LS [user2@localHost Udział] $
To, co wydarzyło się w powyższym przykładzie, jest to, że nasz Użytkownik2
nawigował do /var/share
katalog, wymienił wszystkie pliki i znaleziono plik 1
. Z użyciem mv
polecenie użytkownika przemianowane na nazwę plik 1
Do plik2
. Plik został przemianowany, gdy właściciel i grupa pliku pozostały niezmienione. Po tym Użytkownik2
po prostu postanowił usunąć plik za pomocą Rm
Komenda.
Na tym etapie potrzebujemy pewnego mechanizmu, aby zapobiec użytkownikom, którzy nie są właścicielami katalogu lub rzeczywistego pliku w katalogu z zmiany nazwy lub usuwania plików innych użytkowników. Ten mechanizm nazywa się „lepki bit”. Sticky Bit pozwala tylko właścicielowi root, katalogu i właściciela plików na zmianę nazwy i usuwania plików. Używać chmod
polecenie, aby ustawić lepki bit w katalogu:
[root@localHost ~]# chmod +t/var/share/[root@localhost ~]# ls -ld/var/share/drwxrwxrwt. 2 root root 4096 marca 5 11:21/var/share/
Ostatni bit uprawnienia wykonywalnego dla wszystkich użytkowników jest teraz ustawiony T
Co oznacza, że lepki bit jest teraz na miejscu, a właściciele root, plików lub katalogu mogą zmieniać nazwę i usuwać pliki. Odtworzmy powyższy scenariusz i pozwólmy użytkownik 1
Aby stworzyć nowy plik 1
plik:
[user1@localHost Udostępnij] $ LS [user1@localHost Udział] $ Touch File1 [User1@LocalHost Udostępnij] $ LS -l Total 0 -RW -RW -R--. 1 użytkownik
plik 1
jest teraz stworzony, a ponieważ lepki bit jest teraz na miejscu Użytkownik2
teraz nie uniemożliwi się zmiany nazwy lub usuwania pliku, który nie należy do niego/ona:
[user2@localHost Udział] $ ls -l łącznie 0 -RW -RW -R--. 1 użytkownik zwykły pusty plik „Plik 1”? Y RM: Nie można usunąć „pliku--. 1 Użytkownik
Z powyższego przykładu możemy to zobaczyć Użytkownik2
nie był w stanie zmienić nazwy ani usunąć pliku, ponieważ jest on własnością innego użytkownika, podczas gdy zachowanie to jest egzekwowane przez mechanizm lepkiego bitu. Najlepszym przykładem korzystania z lepkiego bitu jest /tmp/
informator.
# ls -ld / tmp / drwxrwxrwt. 18 Root Root 480 marca 5 11:42 /TMP /
Każdy użytkownik ma dostęp /tmp/
, Aby jednak zapobiec innym użytkownikom zmiany nazwy lub usuwania plików należących do różnych użytkowników, lepki bit jest domyślnie ustawiony na ten katalog. Tylko dla kompletności, zwróć uwagę, że możesz usunąć lepki bit z katalogu już wspomnianego chmod
Komenda:
[root@localHost ~]# ls -ld/var/share/drwxrwxrwt. 2 root root 4096 marca 5 11:38/var/share/[root@localhost ~]# chmod -t/var/share/[root@localhost ~]# ls -ld/var/share/drwxrwxrwx. 2 root root 4096 marca 5 11:38/var/share/[root@localHost ~]#
Powiązane samouczki Linux:
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Rzeczy do zainstalowania na Ubuntu 20.04
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Mastering Bash Script Loops
- Jak w pełni wykorzystać OpenSsh
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Jak często musisz ponownie uruchomić serwer Linux?
- Jak podwójnie rozruch Kali Linux i Windows 10
- Podstawy matematyki komputerowej: binarny, dziesiętny, sześciokadcica, ośmiorot
- Utwórz i skonfiguruj katalogi setgid do współpracy -…
- « Jak sprawdzić nagłówek witryny za pomocą linii poleceń Linux
- Jak wstawić linię do początku pliku w Linux »