Nous avons des images Linux basées sur RH; sur lequel je dois "appliquer" certaines "archives spéciales" afin de les mettre à niveau vers la dernière version de développement de notre produit.
La personne qui a créé l'archive a pensé que dans notre image de base, certaines autorisations étaient incorrectes; donc on nous a dit de courir
sudo chgrp -R nobody /whatever
Nous l'avons fait; et plus tard, lorsque notre application est en cours d'exécution, des problèmes obscurs sont survenus.
Ce que je trouve plus tard: l'appel à chgrp va effacer les informations bit setuid sur nos binaires dans les / whatever.
Et le problème réel est: certains de nos binaires doivent avoir ce bit setuid pour fonctionner correctement.
Pour faire court: existe-t-il un moyen d'exécuter cette commande "chgrp" sans tuer mes bits setuid?
Je viens de lancer ce qui suit sur mon Ubuntu local; conduisant au même résultat:
mkdir sticky
cd sticky/
touch blub
chmod 4755 blub
ls -al blub
-> me montre le nom du fichier avec un fond rouge -> oui, oui, setuid
chgrp -R myuser .
ls -al blub
-> me montre le nom du fichier sans fond rouge -> setuid a disparu
setuid
bit, pas le sticky
bit. (2) Ne pas effacer le setuid
bit lorsque vous le faites chgrp
ou chown
serait un problème de sécurité.
4XXX
bit est appelé bit setuid (s
), pas collant. Sticky est let
bit et son but est un peu différent: en.wikipedia.org/wiki/Sticky_bit