passer passord à su dans script unix - Shell/Batch - Programmation
Marsh Posté le 03-07-2006 à 09:49:43
Evidemment, pour des raisons de sécurité, l'utilitaire "su" vide tout buffer avant la demande de mot de passe.
Tu ne pourras donc pas passer de mot de passe à su.
Pour faire ce que tu souhaites, il faut regarder du côté de "sudo", qui permet à un administrateur système d'autoriser un utilisateur ou un groupe donné d'exécuter des commandes bien définies, paramètres compris.
Voire, mais c'est déconseillé, d'utiliser le set-uid bit.
Marsh Posté le 03-07-2006 à 10:05:24
Déçu !
J'espérais qu'il y avait une super commande avec plein de |, de ', de `, de > et de < imbriqués :-)
Je vais devoir m'en passer ....
Merci quand même pour la réponse
Marsh Posté le 04-07-2006 à 19:23:44
et le set uid bit ne fonctionne que sur des binaires et pas directement sur des shell....
Marsh Posté le 06-07-2006 à 16:33:37
Elmoricq a écrit : Evidemment, pour des raisons de sécurité, l'utilitaire "su" vide tout buffer avant la demande de mot de passe. |
Ainsi que pour la commande "passwd"
gloo a écrit : et le set uid bit ne fonctionne que sur des binaires et pas directement sur des shell.... |
Exact mais on peut contourner le pb en insérant le shell avec "system" dans un binaire...
Mais dans l'absolu, faut voir "sudo" qui est fait justement pour ça...
Marsh Posté le 03-07-2006 à 09:29:40
Bonjour,
Je voudrais pouvoir lancer dans un script shell unix une commande qui a besoin d'être root pour s'exécuter.
Pour cela, je sais qu'il faut lancer au préalable la commande su, mais bien sûr il faut saisir le mot de passe de root
Or je voudrais automatiser et passer le mot de passe de root dans le script à la commande su.
J'ai essayé
su root<toto (avec toto fichier contenant le mot de passe de root)
ou
echo "xyz" | su root (avec xyz le mot de passe de root)
mais ça ne marche pas.
Merci de bien vouloir m'aider...