J'ai un script avec le nom "somescript", qui dispose d'autorisations exécutables pour tout le monde (755), mais lorsque j'essaie de l'exécuter avec un utilisateur non root, il continue de demander le mot de passe root. J'ai même essayé de régler à 4755 sans succès. Seuls les utilisateurs admin et les utilisateurs dotés d'un mot de passe root exécutent actuellement le script.
Comment puis-je faire en sorte que tout utilisateur puisse exécuter le script (mais pas le changer)
-rwxr-xr-x 1 root group1 2841 Jul 8 2014 somescript
user@node:~> somescript
root's password:
Edit: Après avoir tranché Setuid et Setgid et les avoir vus ne pas fonctionner, j’ai inspecté davantage par script et découvert que le script vérifie le nom d’utilisateur root, s’il n’exécute pas via sudo qui oblige à utiliser un mot de passe root. La mise en commentaire de ce script devrait le faire fonctionner en définissant setuid car son propriétaire est root.
if [ "$uid" != "root" ]
then
exec sudo /someplace/somescript
else