Script + droit root - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 20-01-2004 à 23:06:19
utilise expect, tu regarde dans /usr/share/doc , il y a des examples bien documentés.
A+
Marsh Posté le 21-01-2004 à 03:33:38
C'est pas installé par défaut en général ; faut installer le packet. Sinon, sudo est peut-être une meilleure solution...
En fait pour ce que tu veux faire, autant rendre ton script setuid... A la la limite ça sera même plus sûr, au moins t'as pas de mot de passe en clair dedans.
Marsh Posté le 21-01-2004 à 08:58:46
S'il n'y a qu'un ou deux commandes à exécuter tu peux faire :
su -c "apt-get update ; apt-get upgrade "
S'il y a beaucoup plus de choses à faire, le mieux est de créer un nouveau script avec les commandes à exécuter sous root et de le lancer par :
su -c root_script
Si le script de login de root (.profile ou autre suivant le shell) doit être exécuté il faut ajouter l'option - à la commande su :
su - -c root_script
Marsh Posté le 21-01-2004 à 09:34:17
apt-get install sudo et man sudo
Marsh Posté le 21-01-2004 à 09:36:34
$ apt-cache show expect
Description: A program that "talks" to other programs
Expect is a program that "talks" to other interactive programs
according to a script. Following the script, Expect knows what
can be expected from a program and what the correct response
should be. An interpreted language provides branching and high-
level control structures to direct the dialogue. In addition,
the user can take control and interact directly when desired,
afterward returning control to the script.
A+
Marsh Posté le 21-01-2004 à 10:55:05
aigles a écrit : S'il n'y a qu'un ou deux commandes à exécuter tu peux faire : |
Enfin une réponse sensée
Marsh Posté le 21-01-2004 à 10:56:35
j'aurais même dit :
su -c "apt-get update && apt-get upgrade"
voire eventuellement un petit -u dans le upgrade, j'aime bien verifier ce qui va etre fait
Marsh Posté le 21-01-2004 à 12:05:26
Grand merci
Cette commande fonctionne parfaitement :
Code :
|
Voila un script pour la compilation de mon noyau 2.4.24, comme je compile accès régulièrement pour test les différentes options et modules.
Quelqu?un pourrait me dire s'il est correct ou s?il peut-être amélioré.
Je voulais faire ce script sans utilisé « sudo » et c?est fait avec la commande su ?c "commande".
Je viens de me lancer dans le langage script, je ne suis pas programmeur loin de la.
Je suis Admin réseau débutant, mais je pense avec ce langage je pourrais faire quelque truc sympa.
Code :
|
Marsh Posté le 21-01-2004 à 12:11:42
tu pourrais passer le version du noyau en argument, ca t'eviterait d'editer le script a chaque fois
Marsh Posté le 21-01-2004 à 12:19:41
Excuse, je n'ai pas compris « tu pourrais passer la version du noyau en argument, ça t'éviterait d'éditer le script a chaque fois »
C'est pas que pour la compilation du noyau je voulais faire le script qui appel les droit root.
Comme j'ai trois machines plus les machines de l'école alors, je voulais faire un script qui automatise toutes les taches que j'ai l'habitudes de faire après l'installation d'une debian woody toute fraîche.
Marsh Posté le 21-01-2004 à 12:37:42
ce que je voulais dire :
dans ton script de compilation du noyau, au lieu de mettre en dur 2.4.24, tu pourrais mettre $1 qui contient le 1er argument avec lequel est appele ton script
donc au lieu de le lancer avec
Code :
|
tu pourrais faire
Code :
|
comme ca a chaque nouvelle version de noyau, tu n'aurais pas a editer ton script
je suis plus clair ?
enfin c'etait juste un conseil
Marsh Posté le 21-01-2004 à 12:55:14
kelus a écrit : ce que je voulais dire :
|
J'ai apporte des modifications
Marsh Posté le 21-01-2004 à 15:27:30
Code :
|
Marsh Posté le 20-01-2004 à 22:41:01
Bonjour
Je voudrais continué un script que j?ai déjà commence.
Je voudrais faire appel à une commande dans le script qui fait appel à root pour continuer le reste du script avec les pouvoirs root.
Mais le problème une foi le mot de passe root entré, le script s?arrête.
Et après être redevenu simple utilisateur avec la commande "exit" le script continue sans les pouvoirs de root.
Je voudrais faire le script sans sudo.
Un exemple :
# !/bin/sh
#
su
apt-get update
apt-get upgrade
#
Merci pour l'aide.
Message édité par gwadboy le 21-01-2004 à 15:26:17