Retourner aux forums || Retourner au forum Linux.general
Linux.general : commande reboot
Posté par steven51 () le 28 novembre 2007je souhaite pouvoir donner la possibilité à un utilisateur (autre que root) de pouvoir redémarrer Linux...en saisissant la commande "reboot" par exemple.
l'utilisateur pour info se connecte via un telnet...mais ca ne change rien au problème...
Bien évidement, je ne souhaite pas donner le mot de passe de root...par contre je veux bien claquer en dur le mot de passe pour pouvoir l'utiliser dans un script ou un petit programme.
J'ai essayé "su -c reboot < root.pw" root.pw étant un fichier contenant le mot de passe de root....mais ça ne fonctionne pas.
Comment faire?
merci.
> Lire le message (10 commentaires, moyenne: 2,4).
sudo et sudoer
te permet de donner le droit à un utilisateur, à un groupe, d'effectuer une ou plusieurs commande comme s'ils etaient root.
man sudo
man visudo
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux
-
[^]Re: sudo et sudoer
Posté par Ellendhel () le 28/11/2007 à 17:21. (lien). Évalué à 1.Autre méthode possible : utiliser SSH et des clés autorisées pour partager l'accès root (limité aux commandes voulues) sans mot de passe.
Le détail complet est dans le "Linux Security Cookbook" chez O'Reilly [1] en anglais.
La recette détaillée est un peu longue, mais une partie est disponible sur le site web de l'éditeur [2] aux entrées "Sharing root Privileges via SSH" et "Running root Commands via SSH".
En deux mots :
- vérifier que la directive PermitRootLogin est à 'yes' dans le fichier sshd_config
- ajouter les clés publiques des utilisateurs concernés au fichier /root/.ssh/authorized_keys
- lancer une commande de la façon suivante : ssh -l root localhost commande
[1] http://www.oreilly.com/catalog/linuxsckbk/index.html
[2] http://www.oreilly.com/catalog/linuxsckbk/toc.html
expect...
Évidement, sudo est certainement un bon utilitaire, mais il y en a un autre qui propose une alternative se rapprochant de ta démarche initiale : expect.
Si tu veux en savoir plus, tu peux aller regarder les pages ici :
http://expect.nist.gov/FAQ.html
Voilà, en espérant que ça aide, comme on dit.
All articles which are excluded shall be deemed included
Tous les articles exclus sont considérés inclus
--Brian de Palma in Phantom of the Paradize
-
[^]Re: expect...
Posté par Gyro Gearllose () le 28/11/2007 à 13:35. (lien). Évalué à 1.Je me répond à moi-même, car j'ai fouillé un peu plus, et on peut effectivement faire ce qui est demandé avec expect.
J'ai utilisé le lien [1] pour faire un pauvre essai dont voici le code :
#!/usr/bin/expect
puts "Getting root listing"
spawn su - -c "ls"
expect ":"
send "mdpderoot\r"
expect eof
puts "Done."
Il faut évidement mettre le vrai mot de passe de root à la place de mdpderoot.
Et pour répondre à la question posée, remplacer ce qui est après l'appel à spawn par reboot.
[1] http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/scripting/5.(...)
P.S. : Au moment où je frappe ces quelques lignes, je constate que mon message précédent a été "moinsé", j'aimerai bien savoir pourquoi.--
All articles which are excluded shall be deemed included
Tous les articles exclus sont considérés inclus
--Brian de Palma in Phantom of the Paradize-
[^]Re: expect...
Posté par NeoX () le 28/11/2007 à 14:52. (lien). Évalué à 5.aucune idée pour le moinssage.
expect, c'est surement bien, mais ca veut aussi dire que la personne qui peut lire le script, connait le mot de passe root
si elle connait le mot de passe root, alors elle peut etre root
et tu ne pourras pas la limiter à seulement la commande reboot.
idem pour le coup du fichier que tu redirige vers le su -c
je penses donc serieusement que le sudo reste le meilleur outil pour autoriser une seule commande (reboot) habituellement lancée par root à un utilisateur ou un groupe d'utilisateur.--
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux-
[^]Re: expect...
Posté par Gyro Gearllose () le 28/11/2007 à 14:56. (lien). Évalué à 1.Entièrement d'accord avec toi, tes remarques sont très pertinentes. Ceci étant je m'étais basé sur la phrase suivante dans le message d'origine :
"J'ai essayé "su -c reboot < root.pw" root.pw étant un fichier contenant le mot de passe de root....mais ça ne fonctionne pas."
Et c'est en me basant là dessus que j'ai formulé une solution collant au plus près à la demande, même si elle n'est pas parfaite...
Ceci étant, il y a aussi d'autres mécanismes comme le suid-bit par exemple, qui sont beaucoup plus simples que celles proposées...--
All articles which are excluded shall be deemed included
Tous les articles exclus sont considérés inclus
--Brian de Palma in Phantom of the Paradize
-
-
[^]Re: expect...
Posté par B. franck () le 29/11/2007 à 00:45. (lien). Évalué à 5.P.S. : Au moment où je frappe ces quelques lignes, je constate que mon message précédent a été "moinsé", j'aimerai bien savoir pourquoi.
peut-être parce que la solution d'expect oblige à laisser le fichier en lecture et qu'il contient le mdp de root, donc le donne à quiconque peut lire (exécuter) le script.
Le pré-requis de départ étant "ne pas donner le mdp root" c'est donc une fausse route.
(Sans parler du gigantesque trou de sécurité que l'on ouvre avec cette méthode, mais passons...)
-
Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.general



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.