Bonjour les gens,
Je rencontre un problème pour lequel je ne trouve pas de réponse dans la FAQ, ni de tutoriel qui m'éclaire vraiment.
Je veux rendre certains script appartenant à root, executable par un compte utilisateur.
J'ai donc fixé le bit SUID pour ce script. Mais quand je l'execute en tant qu'utilisateur, j'obtiens le message "only root can do that".
Je me suis renseigné, et apparement, comme c'est un script, c'est le bash qui est appelé avec EUID=root, mais le contexte d'execution du script reçois un EUID égale à celui de l'appelant, donc l'utilisateur. Je n'ai déjà pas trés bien compris pourquoi, mais là où ça me semble encore plus incompréhensible, c'est que par exemple, la commande mount, qui n'est pas un script, a le bit SUID fixé, et pourtant je ne peux pas l'appeler depuis le compte utilisateur.
Existe t-il un tutoriel à ce sujet ? Quelque chose qui puisse convenir à quelqu'un d'assez lent avec cette question (ça me semblait clair, mais quand je fais des essais, je m'aperçois que je n'y comprend absoluement rien).
Note : je suis bien informé des problèmes de sécurité que présente cet attibut, mais la question n'est pas là pour le moment (il faut apparement surtout se méfier des dépendances de ces programmes vis-àvis des variables d'environnement, car celles-ci sont librement modifiables par l'appelant, et peuvent donc êtres des failles).
Partager