GNU/Linux >> Znalost Linux >  >> Linux

UNIX / Linux:Jak používat Sticky Bit na adresář a soubor

Lepivý bit byste nastavili primárně na adresáře v UNIX / Linux.

Pokud nastavíte sticky bit na adresář, ostatní uživatelé nemohou smazat nebo přejmenovat soubory (nebo podadresáře) v tomto adresáři.

Když je v adresáři nastaven sticky bit, pouze vlastník a uživatel root mohou mazat/přejmenovávat soubory nebo adresáře v tomto adresáři.

1. Nastavte lepivý bit na Adresář

Níže uvedený příklad umožňuje lepivý bit v adresáři.

Pomocí příkazu chmod nastavte lepivý bit. Pokud v chmod používáte osmičková čísla, zadejte 1, než zadáte další číslovaná oprávnění, jak je ukázáno níže. Níže uvedený příklad dává oprávnění rwx uživateli, skupině a dalším (a také přidává sticky bit do adresáře).

$ chmod 1777 dir

Nebo můžete existujícímu adresáři přiřadit pouze sticky bit (aniž byste se dotkli jakéhokoli jiného uživatele, skupiny a dalších oprávnění) pomocí příkazu chmod, jak je uvedeno níže.

$ chmod +t dir

Jakmile je lepivý bit přiřazen k adresáři, uvidíte (t) jako poslední znak v oprávnění. V tomto příkladu je to drwxrwxrwt.

$ ls -ld /home/bala/dir
drwxrwxrwt 2 bala bala 4096 2011-01-28 14:09 /home/bala/dir
$ ls -l dir
total 8
-rwxrwxrwx 1 bala   bala   20 2011-01-28 14:12 bala.txt
-rwxrwxrwx 1 guest guest 41 2011-01-28 14:13 guest.txt

Ve výše uvedeném příkladu, protože dir má oprávnění rwx pro každého, všichni ostatní uživatelé mohou vytvářet své soubory nebo adresáře v tomto adresáři. I když však podadresáře nebo soubory v adresáři dir mají oprávnění rwx pro každého, může tyto soubory a adresář odstranit nebo přejmenovat pouze jejich vlastník. Ostatní uživatelé jej nemohou smazat ani přejmenovat kvůli lepivému bitu.

Ve výše uvedeném příkladu má bala.txt rwx pro uživatele, skupiny a další. Když se však uživatel typu host pokouší smazat soubor bala.txt, zobrazí se mu zpráva „Operace nemá oprávnění“, jak je uvedeno níže.

$ su guest
Password:
$ cd /home/bala/dir1
$ rm bala.txt
rm: cannot remove `bala.txt': Operation not permitted

Vezměte prosím na vědomí, že /tmp má ve výchozím nastavení povolený lepivý bit. Možná jste si toho doteď nevšimli. Nyní víte, proč by měl mít adresář /tmp povolený lepivý bit.

$ ls -ld /tmp
drwxrwxrwt 3 root root 4096 Jan 31 08:29 /tmp

Chcete-li odstranit lepivý bit z adresáře, proveďte následující.

$ chmod -t dir

2. Nastavte lepivý bit na Soubor

Nastavení lepivého bitu na soubor je do značné míry zbytečné a nedělá nic. Na některých starších variantách *nix bude spustitelný soubor s povoleným lepivým bitem načten do odkládací paměti po prvním spuštění, což urychlí veškeré následné spuštění. To už není pravda.

Z Wikipedie:

Currently, this behavior is only operative in HP-UX, NetBSD, and UnixWare. 
Solaris appears to have abandoned this in 2005.[citation needed] The 4.4-Lite 
release of BSD retained the old sticky bit behavior but it has been subsequently 
dropped from OpenBSD (as of release 3.7) and FreeBSD (as of release 2.2.1); 
it remains in NetBSD. 

No version of Linux has ever supported the traditional behavior.

Linux
  1. Jak nainstalovat a používat Traceroute v Linuxu

  2. Proč používáme „./“ (lomítko) ke spuštění souboru v Linuxu/unixu?

  3. Linux – Jak lze zkontrolovat informace o struktuře adresářů souboru Unix/linux?

  1. Jak zajistit, aby byly soubory a adresáře neodstranitelné, a to i přes kořen v Linuxu

  2. Jak nainstalovat a používat Flatpak v Linuxu

  3. Jak povolím indexování souborů a adresářů Apache v systému Linux nebo UNIX?

  1. Pochopení cest k souborům a jejich použití v Linuxu

  2. Linux File Command:Co dělá a jak jej používat

  3. Co je Sticky Bit, SUID a SGID v Linuxu