Utilisation et exemples de bits collants de la coque Linux

Utilisation et exemples de bits collants de la coque Linux

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 -…