script bash et setuid

script bash et setuid - Codes et scripts - Linux et OS Alternatifs

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 .

Reply

Marsh Posté le 21-09-2009 à 10:28:57   

Reply

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.

Reply

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.

Reply

Marsh Posté le 21-09-2009 à 11:35:42    

Merci pour la correction, j'ai appris quelque chose.

Reply

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 :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

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 ...

Reply

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 ?
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 ...


 
Oui, via NOPASSWD
 
man sudo.


---------------
Si vis pacem, para bellum.
Reply

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed