Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1509 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script + droit root

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script + droit root

n°393187
gwadboy
Posté le 20-01-2004 à 22:41:01  profilanswer
 

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
mood
Publicité
Posté le 20-01-2004 à 22:41:01  profilanswer
 

n°393211
Aragorn_1e​r
Le jihad butlérian est proche
Posté le 20-01-2004 à 23:06:19  profilanswer
 

utilise expect, tu regarde dans /usr/share/doc , il y a des examples bien documentés.
 
A+

n°393214
gwadboy
Posté le 20-01-2004 à 23:12:51  profilanswer
 

Je ne vois pas de quel exemple dont tu parles.

n°393257
matafan
Posté le 21-01-2004 à 03:33:38  profilanswer
 

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.


Message édité par matafan le 21-01-2004 à 03:35:34
n°393270
aigles
Posté le 21-01-2004 à 08:58:46  profilanswer
 

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

n°393274
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 21-01-2004 à 09:16:32  profilanswer
 

matafan > un script shell ne peut pas être suid

n°393277
Klaimant
?
Posté le 21-01-2004 à 09:34:17  profilanswer
 

apt-get install sudo et man sudo :)


---------------
Fais le ou ne le fais pas, mais il n'y a pas d'essai !!!
n°393278
Aragorn_1e​r
Le jihad butlérian est proche
Posté le 21-01-2004 à 09:36:34  profilanswer
 

$ 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+

n°393301
arsunik
ma tuxitude me beastifie
Posté le 21-01-2004 à 10:55:05  profilanswer
 

aigles a écrit :

S'il n'y a qu'un ou deux commandes à exécuter tu peux faire :
 
su -c "apt-get update ; apt-get upgrade "
[...]


 
Enfin une réponse sensée :jap:

n°393302
philou_a7
\_o< coin ! >o_/
Posté le 21-01-2004 à 10:56:35  profilanswer
 

j'aurais même dit :
 
su -c "apt-get update && apt-get upgrade" :D
 
voire eventuellement un petit -u dans le upgrade, j'aime bien verifier ce qui va etre fait :D

mood
Publicité
Posté le 21-01-2004 à 10:56:35  profilanswer
 

n°393335
gwadboy
Posté le 21-01-2004 à 12:05:26  profilanswer
 

Grand merci
 
Cette commande fonctionne parfaitement :

Code :
  1. su -c "apt-get update && apt-get upgrade"


 
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 :
  1. #!/bin/sh
  2. # Compilation de mon noyau
  3. # En toto
  4. cd /usr/src/linux
  5. make dep clean bzImage modules
  6. # En root
  7. # Installation du nouveau noyau, plus création de lien etc...
  8. # Elle n?est pas trop grande la commande ?
  9. # $1=version_du_noyau
  10. su ?c "cd /usr/src/linux && make modules_install && cp arch/i386/boot/bzImage /boot/vmlinuz-$1 && cp System.map /boot/System.map-$1 && cp .config /boot/config-$1 && mv /vmlinuz /vmlinuz.old && ln -sf /boot/vmlinuz-$1 /vmlinuz"
  11. # En root
  12. #
  13. su ?c "update-modules && lilo"
  14. # Fin


Message édité par gwadboy le 21-01-2004 à 15:31:28
n°393336
kelus
Posté le 21-01-2004 à 12:11:42  profilanswer
 

tu pourrais passer le version du noyau en argument, ca t'eviterait d'editer le script a chaque fois

n°393337
gwadboy
Posté le 21-01-2004 à 12:19:41  profilanswer
 

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.

n°393340
kelus
Posté le 21-01-2004 à 12:37:42  profilanswer
 

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 :
  1. ./compil


tu pourrais faire  

Code :
  1. ./compil 2.4.24


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

n°393354
gwadboy
Posté le 21-01-2004 à 12:55:14  profilanswer
 

kelus a écrit :

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 :
  1. ./compil


tu pourrais faire  

Code :
  1. ./compil 2.4.24


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


 
J'ai apporte des modifications

n°393358
kelus
Posté le 21-01-2004 à 12:57:25  profilanswer
 

:jap:

n°393411
gwadboy
Posté le 21-01-2004 à 15:27:30  profilanswer
 

:)  
 

Code :
  1. #!/bin/sh
  2. # Compilation de mon noyau
  3. # En toto
  4. cd /usr/src/linux
  5. make dep clean bzImage modules
  6. # En root
  7. # Installation du nouveau noyau, plus création de lien etc...
  8. # Elle n?est pas trop grande la commande ?
  9. # $1=version_du_noyau
  10. su ?c "cd /usr/src/linux && make modules_install && cp arch/i386/boot/bzImage /boot/vmlinuz-$1 && cp System.map /boot/System.map-$1 && cp .config /boot/config-$1 && mv /vmlinuz /vmlinuz.old && ln -sf /boot/vmlinuz-$1 /vmlinuz"
  11. # En root
  12. #
  13. su ?c "update-modules && lilo"
  14. # Fin


Message édité par gwadboy le 21-01-2004 à 15:33:31

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script + droit root

 

Sujets relatifs
utiliser les alias du compte root pour un compte utilisateur.Un petit peu d'aide avec un petit script bash
script perl pour irssiDébutant sous FreeBSD 5.2 : Comment se logger en ssh en root ?
[unix] installer une librairie sans etre root c'est possible?Exim + root + mail
script de reconnectionSe logger en tant ke root sur KDE
[ Logiciels / Script ] Outils pour le MP3 / OGG et script pour LAME[Gentoo] Besoin du script xdm [résolu]
Plus de sujets relatifs à : Script + droit root


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR