Pour définir le bit collant sur un répertoire, pourquoi les commandes chmod 1777
et les chmod 3777
deux fonctionnent-elles?
permissions
chmod
Liao Zhuodi
la source
la source
passwd
binaire était accessible en écriture dans le monde, vous ne seriez pas en mesure d'obtenir un accès root en le modifiant, comme vous le dites, mais vous pouvez le remplacer par un autre binaire que tout le monde exécuterait par la suite, pensant que c'était le caspasswd
.Réponses:
Chaque nombre (également appelé octal car il s'agit de base8) dans ce groupe représente 3 bits. Si vous le transformez en binaire, cela le rend beaucoup plus facile.
1 = 0 0 1
3 = 0 1 1
5 = 1 0 1
7 = 1 1 1
Donc, si vous avez fait 1777, 3777, 5777 ou 7777, vous définiriez le bit collant car la troisième colonne serait un 1. Cependant, avec 3777, 5777 et 7777, vous définissez également d'autres bits (SUID pour la première colonne, et SGID pour la deuxième colonne).
Inversement, tout autre nombre à cet endroit (jusqu'à un maximum de 7) ne définirait pas le bit collant car la dernière colonne ne serait pas un 1 ou "on".
2 = 0 1 0
4 = 1 0 0
6 = 1 1 0
la source
clear
les colonnes Owner Group & Other.Les autorisations passées en argument à chmod sont spécifiées comme une valeur octale . Chaque chiffre de la valeur représente trois bits. Si trois chiffres sont donnés, vous définissez les bits de lecture, d'écriture et d'exécution pour le propriétaire du fichier, le groupe et les autres (tout le monde). Si quatre chiffres sont donnés, le nombre le plus à gauche définit les bits setuid, setgid et sticky. Octal 1 définit le bit collant. Octal 2 définit le bit setgid. Octal 2 + octal 1 est octal 3 qui définit à la fois le bit setgid et le bit collant.
la source
binary or
opérateur. Cependant, comme vous le faites remarquer, dans ce cas, cela donne le même résultat, et beaucoup plus de gens connaissent l'addition.