script bash et setuid - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 21-09-2009 à 10:48:30
A ma connaissance, c'est tout simplement pour des raisons de sécurité.
Etant donné que le contenu d'un script peut être modifiable beaucoup plus facilement qu'un code compilé, cela constitue une faille de sécurité béante.
Pour "contourner" ca, pas d'autres moyen que de lancer ton script via un programme compilé qui l'exécuterait ensuite. Mais c'est encore pire côté sécurité (si tu passes le script en argument, hello suid pour tout script présent sur ta machine, si le chemin est hardcodé on pourrait écraser ton script et le remplacer par un autre).
De manière générale, le principe du suid est a manier avec précaution, cela ouvre très souvent la possibilité aux utilisateurs de gagner un accès root.
Marsh Posté le 21-09-2009 à 11:32:20
Rien à voir avec de la sécurité.
C'est juste que le shellbang #! appelle l'interpréteur qui lui même évalue le script ... donc le setuid sur le script, il ne sert a rien, le script n'étant pas exécutable lui-même.
La véritable solution, c'est sudo.
Marsh Posté le 21-09-2009 à 12:37:46
tu peux détecter si l'utilisateur n'est pas root aussi, pour faire un truc un peu classe
Marsh Posté le 21-09-2009 à 15:32:02
pour sudo, est-ce qui'l est posible de faire avec sudo sans avoir a mettre le mot de passe ?
par exemple, jamais personne ne ferai un 'sudo ping' et entrerai son mot de passe ...
Je sais que c'est con, mais je suis assez au pieds du mur ...
Marsh Posté le 21-09-2009 à 15:43:58
trictrac a écrit : pour sudo, est-ce qui'l est posible de faire avec sudo sans avoir a mettre le mot de passe ? |
Oui, via NOPASSWD
man sudo.
Marsh Posté le 21-09-2009 à 16:08:49
Oui, il y a même de bons exemples commentés dans le fichier de conf, enfin dans les distrib que j'utilise il y en a.
Marsh Posté le 21-09-2009 à 10:28:57
salut,
Petite question.
J'essaie de mettre en place un script bash qui devrait faire 2 - 3 opération avec les droits root, lancable par tous les users au nom de root.
Or quand je le setUID, ca ne fonctionne pas.
J'ai cru voir sur internet que c'est pas possible, mais j'ai pas bien compris pourquoi.
Des pistes ?
Non, je ne peux pas utiliser sudo .