Bit lepki to bit uprawnień ustawiony w pliku lub katalogu, który pozwala tylko właścicielowi pliku / katalogu lub użytkownikowi root na usunięcie lub zmianę nazwy pliku. Żaden inny użytkownik nie ma uprawnień do usuwania pliku utworzonego przez innego użytkownika.
Czasami zdarza się, że potrzebujesz katalogu Linux, z którego mogą korzystać wszyscy użytkownicy systemu Linux do tworzenia plików. Użytkownicy mogą tworzyć, usuwać lub zmieniać nazwy plików zgodnie z ich wygodą w tym katalogu.
Co teraz, jeśli użytkownik przypadkowo lub celowo usunie (lub zmieni nazwę) plik utworzony przez innego użytkownika w tym katalogu?
Cóż, aby uniknąć tego rodzaju problemów, używana jest koncepcja lepkiego bitu. Ponieważ do tego celu służy / tmp . Aby uniknąć powyższego scenariusza, / tmp używa lepkiego bitu.
Na przykład:
mkdir demo
chmod 777 demo
W tym folderze utworzyłem również dwa pliki z różnymi użytkownikami mającymi uprawnienia 777.
ls -ld demo
drwxrwxrwx 2 guru guru 4096 Mar 11 18:17 demo
ls -l demo
-rwxrwxrwx 1 abhi abhi 0 Mar 11 17:11 file1
-rwxrwxrwx 1 anshu anshu 0 Mar 11 18:15 file2
Teraz włącz to lepkie
chmod +t demo/
ls -ld demo
drwxrwxrwt 2 guru guru 4096 Mar 11 18:17 demo
Co się stanie, jeśli jeden użytkownik (abhi) chce zmienić nazwę drugiego użytkownika (anshu)
mv /home/guru/demo/file2 /home/guru/demo/file3
mv: cannot move '/home/guru/demo/file2' to '/home/guru/demo/file3': Operation not permitted
Pochodzenie lepkiego bitu
W Linuksie lepki bit ma zastosowanie opisane powyżej tylko w katalogach. Historycznie był używany do czegoś zupełnie innego w zwykłych plikach i stąd pochodzi nazwa.
Po uruchomieniu programu ładowanie programu do pamięci zajmuje dużo czasu, zanim użytkownik może zacząć z niego korzystać. Jeśli użytkownicy często korzystają z programu, na przykład edytora, opóźnienie w uruchomieniu było wówczas narzutem.
Aby poprawić to opóźnienie czasowe, wprowadzono lepki bit. System operacyjny sprawdził, czy jeśli bity lepkie w pliku wykonywalnym są WŁĄCZONE, wówczas segment tekstowy pliku wykonywalnego był przechowywany w przestrzeni wymiany. Ułatwiło to ponowne załadowanie pliku wykonywalnego do pamięci RAM po ponownym uruchomieniu programu, co minimalizuje opóźnienie czasowe.
Współczesne systemy, takie jak Linux, automatycznie zarządzają pamięcią podręczną plików wykonywalnych i innych plików i nie potrzebują do tego lepkiego bitu.
Źródło: „Linux Sticky Bit Concept wyjaśniany przykładami” w The Geek Stuff