GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que le sticky bit dans les systèmes de fichiers UNIX ? Quand est-il utilisé ?

Solution 1 :

Son utilisation originale était de fournir un indice au système d'exploitation que l'exécutable devait être mis en cache en mémoire afin qu'il se charge plus rapidement. Cette utilisation a été pour la plupart obsolète car les systèmes d'exploitation sont assez intelligents pour ce genre de choses maintenant. En fait, je pense que maintenant certains systèmes d'exploitation l'utilisent comme un indice que l'exécutable ne devrait pas être mis en cache.

L'utilisation la plus courante aujourd'hui consiste à créer un répertoire dans lequel n'importe qui peut créer un fichier, mais seul le propriétaire d'un fichier dans ce répertoire peut le supprimer. Traditionnellement, si vous avez un répertoire dans lequel n'importe qui peut écrire, n'importe qui peut également en supprimer un fichier. définir le sticky bit sur un répertoire fait en sorte que seul le propriétaire d'un fichier peut supprimer le fichier d'un répertoire accessible en écriture par tout le monde.

L'utilisation classique de ceci est le /tmp répertoire :

$ ls -ld /tmp
drwxrwxrwt   29 root     root         5120 May 20 09:15 /tmp/

Le t dans le mode il y a le bit collant. Si cela n'était pas défini, il serait assez facile pour un utilisateur régulier de causer des ravages en supprimant tout de /tmp . Étant donné que de nombreux démons placent des sockets dans /tmp , il s'agirait essentiellement d'un DOS local.

Solution 2 :

http://en.wikipedia.org/wiki/Sticky_bit


Linux
  1. Comment fonctionne le Sticky Bit ?

  2. Que se passe-t-il exactement lorsque j'exécute un fichier dans le shell ?

  3. UNIX / Linux :Comment utiliser Sticky Bit sur un répertoire et un fichier

  4. Quelle est la commande unix pour savoir à quel fichier exécutable correspond une commande donnée ?

  5. Pourquoi ai-je besoin d'un bit 'execute' en mode fichier sur les systèmes de fichiers Unix ?

Comprendre le répertoire /etc/sysconfig

Quel est le but du fichier .bash_profile sous le répertoire d'accueil de l'utilisateur sous Linux

Quel est le but du fichier .bashrc sous Linux

Exclure le répertoire lors de la création d'un fichier .tar.gz

Quelle est la signification de caddr_t et quand est-il utilisé ?

mkdir -p échoue lorsque le répertoire existe