Utilisation et exemples de bits collants de la coque Linux
- 4536
- 423
- Emilie Colin
Avant de parler de ce qui est un peu collant, commençons par expliquer pourquoi nous en avons besoin. Par exemple, nous avons un répertoire / var / partager
Quelque part sur le système de fichiers avec un accès complet pour tous les groupes d'autorisation qui est propriétaire, groupe et tout, donc tous les bits d'autorisation sont définis sur «ON» drwxrwxrwx
:
# ls -ld / var / share / drwxrwxrwx. 2 racine racine 4096 mars 5 11:02 / var / share /
À partir de ce qui précède, nous pouvons voir que tout utilisateur a lu, écrit et exécuté des autorisations au / var / partager
annuaire. Ensuite, dans notre scénario, nous avons deux utilisateurs nommés User1
et user2
. Puisque tout le monde a maintenant un accès à / var / partager
Répertoire, notre User1
peut accéder à ce répertoire et créer simplement n'importe quel fichier arbitraire:
user1 @ localhost ~] $ cd / var / share / [user1 @ localhost share] $ touch file1 [user1 @ localhost share] $ ls -l file1 -rw-rw-r--. 1 User1 User1 0 mars 5 11:08 Fichier1 [User1 @ LocalHost Share] $
Le fichier1
a été créé avec un bit d'autorisation défini par l'utilisateur umask
la valeur et la possession de l'utilisateur et du groupe sont définies sur son créateur qui est User1
. Jusqu'à présent, nous n'avons aucun problème et tout fonctionne parfaitement comme prévu. Plus tard, notre user2
naviguer vers le / var / partager
répertoire et décide de renommer ou de supprimer fichier1
pour fichier2
:
[User2 @ LocalHost Share] $ cd / var / share / [user2 @ localhost share] $ ls -l total 0 -rw-rw-r--. 1 User1 User1 0 mars 5 11:20 Fichier1 [User2 @ LocalHost Partage] $ mv fichier1 fichier2 [user2 @ localhost share] $ ls -l total 0 -rw-rw-r--. 1 User1 User1 0 mars 5 11:20 Fichier2 [User2 @ LocalHost Share] $ RM File2 RM: supprimer le fichier vide régulier protégé par écrit 'File2' '? y [user2 @ localhost share] $ ls [user2 @ localhost share] $
Ce qui s'est passé dans l'exemple ci-dessus, c'est que notre user2
navigué pour / var / partager
répertoire, répertorié tous les fichiers et trouvé fichier1
. Avec une utilisation de mv
commander l'utilisateur renommé le fichier1
pour fichier2
. Le dossier a été renommé tandis que le propriétaire et le groupe du dossier étaient inchangés. Après cela user2
simplement décidé de supprimer le fichier en utilisant RM
commande.
À ce stade, nous avons besoin d'un mécanisme pour empêcher les utilisateurs qui ne possèdent pas le répertoire ou le fichier réel dans le répertoire en renommant ou en supprimant les fichiers d'autres utilisateurs. Ce mécanisme est appelé «bit collant». Sticky Bit permet uniquement à la racine, au propriétaire du répertoire et au propriétaire du fichier de renommer et de supprimer les fichiers. Utiliser chod
Commande pour définir un bit collant sur un répertoire:
[root @ localhost ~] # chmod + t / var / share / [root @ localhost ~] # ls -ld / var / share / drwxrwxrwt. 2 racine racine 4096 mars 5 11:21 / var / share /
Le dernier bit d'autorisation exécutable pour tous les utilisateurs est maintenant défini sur t
Ce qui signifie qu'un bit collant est maintenant en place et que seuls les propriétaires de racines, de fichiers ou de répertoires peuvent renommer et supprimer des fichiers. Réplivons le scénario ci-dessus et laissons User1
Pour créer un nouveau fichier1
déposer:
[User1 @ LocalHost Share] $ ls [User1 @ LocalHost Share] $ touch file1 [user1 @ localhost share] $ ls -l total 0 -rw-rw-r--. 1 User1 User1 0 mars 5 11:34 Fichier1 [User1 @ LocalHost Share] $
fichier1
est maintenant créé et puisque le bit collant est maintenant en place user2
sera maintenant empêché de renommer ou de supprimer le fichier qui ne lui appartient pas:
[User2 @ LocalHost Share] $ ls -l total 0 -rw-rw-r--. 1 User1 User1 0 mars 5 11:34 Fichier1 [User2 @ LocalHost Share] $ mv File1 File2 MV: Impossible de déplacer 'File1' vers 'File2': l'opération non autorisée [User2 @ LocalHost Share] $ RM File1 RM: Supprimez la lecture de la lecture-Protected Fichier vide régulier 'fichier1'? Y RM: Impossible de supprimer 'File1': l'opération non autorisée [User2 @ LocalHost Share] $ ls -l total 0 -rw-rw-r--. 1 User1 User1 0 mars 5 11:34 Fichier1 [User2 @ LocalHost Share] $
D'après l'exemple ci-dessus, nous pouvons voir que user2
n'a pas pu renommer ou supprimer un fichier car il appartient à un autre utilisateur, tandis que ce comportement est appliqué par le mécanisme de bit collant. Le meilleur exemple d'utilisation des bits collants est / tmp /
annuaire.
# ls -ld / tmp / drwxrwxrwt. 18 racine racine 480 mars 5 11:42 / tmp /
Tout utilisateur a accès à / tmp /
, Cependant, pour empêcher d'autres utilisateurs de renommer ou de supprimer des fichiers détenus par différents utilisateurs, le bit collant est défini sur ce répertoire par défaut. Juste pour une complétude, notez que vous pouvez supprimer un bit collant d'un répertoire par déjà mentionné chod
commande:
[root @ localhost ~] # ls -ld / var / share / drwxrwxrwt. 2 racine racine 4096 mars 5 11:38 / var / share / [root @ localhost ~] # chmod -t / var / share / [root @ localhost ~] # ls -ld / var / share / drwxrwxrwx. 2 racine racine 4096 mars 5 11:38 / var / share / [root @ localhost ~] #
Tutoriels Linux connexes:
- Une introduction à l'automatisation Linux, des outils et des techniques
- Choses à installer sur Ubuntu 20.04
- Mint 20: Mieux que Ubuntu et Microsoft Windows?
- Masterring Bash Script Loops
- Comment profiter au maximum d'OpenSSH
- Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
- À quelle fréquence devez-vous redémarrer votre serveur Linux?
- Comment doubler Kali Linux et Windows 10
- Bases de mathématiques informatiques: binaire, décimal, hexadécimal, octal
- Créer et configurer les répertoires Setgid pour la collaboration -…
- « Comment vérifier un en-tête de site Web à l'aide de la ligne de commande Linux
- Comment insérer la ligne au début du fichier sur Linux »