petit script. Regle de base.

petit script. Regle de base. - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 11-08-2006 à 10:58:56    

La question est simple mais je me la pose.....
Dans un script bash
j'utilise la commande mkdir pour créer éventuellement une directory manquante.
elle n'est utilisée normalement que par le "root"
Le problème est que c'est un utilisateur qui lance ce script. Ca coince donc sur cette commande.
Pour résoudre: Faut-il absolument passer par "sudo" ou y a t-il une solution plus simple?
Merci.

Reply

Marsh Posté le 11-08-2006 à 10:58:56   

Reply

Marsh Posté le 11-08-2006 à 11:11:10    

thierryR a écrit :

La question est simple mais je me la pose.....
Dans un script bash
j'utilise la commande mkdir pour créer éventuellement une directory manquante.
elle n'est utilisée normalement que par le "root"
Le problème est que c'est un utilisateur qui lance ce script. Ca coince donc sur cette commande.
Pour résoudre: Faut-il absolument passer par "sudo" ou y a t-il une solution plus simple?
Merci.


 
pouruqoi ne pas essayer de créer un groupe commun entre ton utilisateur et root, et d'affecter se directory à ce groupe? tu pourras ainsi fait eviter d'utiliser sudo

Message cité 1 fois
Message édité par youx21 le 11-08-2006 à 11:11:30
Reply

Marsh Posté le 11-08-2006 à 11:23:18    

en faisant chmod 4711 sur ton fichier, ça marche pour ton utilisateur ?

Reply

Marsh Posté le 12-08-2006 à 12:02:13    

youx21 a écrit :

pouruqoi ne pas essayer de créer un groupe commun entre ton utilisateur et root, et d'affecter se directory à ce groupe? tu pourras ainsi fait eviter d'utiliser sudo


Y a un truc que je ne saisi pas bien... La directory est manquante. Le script doit la créer. Il est donc impossible d'affecter un nouveau group à cette directory qui n'existe pas encore.  :ange:

Reply

Marsh Posté le 12-08-2006 à 12:06:52    

Euh...
Pourquoi ne pas demander a "root" de lancer le script ?


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 12-08-2006 à 12:07:41    

je pense qu'il parle des droits sur le dossier parent de celui que tu dois créer.
 
sinon, sudo est une bonne solution. D'autant plus que tu peux le limiter à une commande donnée.
exemple :

jules   LOCAL= NOPASSWD:/bin/echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss


 
Si mes souvenirs sont bons, mettre un bit suid sur le script ne marche pas parce que l'interpréteur n'est pas lancé par le compte root dans ce cas.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 12-08-2006 à 12:10:58    

p-seeker23 a écrit :

en faisant chmod 4711 sur ton fichier, ça marche pour ton utilisateur ?


Ben, je ne crois pas:
failed: Permission denied (13) :whistle:

Reply

Marsh Posté le 12-08-2006 à 12:15:04    

Mjules a écrit :

je pense qu'il parle des droits sur le dossier parent de celui que tu dois créer.
 
sinon, sudo est une bonne solution. D'autant plus que tu peux le limiter à une commande donnée.
exemple :

jules   LOCAL= NOPASSWD:/bin/echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss


 
Si mes souvenirs sont bons, mettre un bit suid sur le script ne marche pas parce que l'interpréteur n'est pas lancé par le compte root dans ce cas.


Je ne maitrise pas sudo.
Il faut donner une permission sur le script ou sur mkdir ?

Reply

Marsh Posté le 12-08-2006 à 12:15:45    

si il n'y a que mkdir qui a besoin de droits élargis, alors ne donne que sur mkdir. et si c'est toujours le même dossier ou toujours la même commande, ne donne de droit que sur la commande précise
 
genre :


#!/bin/bash
if test_de_mon_dossier ; then
    sudo /bin/mkdir mon_dossier
else  
    exit 0
fi


 
et dans /etc/sudoers :

toto LOCAL= NOPASSWORD:/bin/mkdir mon_dossier


 
ainsi, seul cette commande bien précise dispose de droit élargi.


Message édité par Mjules le 12-08-2006 à 12:20:24

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 12-08-2006 à 12:31:01    

Ca c'est une belle réponse comme je les aimes... ;)  Les exemples: C'est ce qu'il y a de plus parlant.
Merci Mjules

Reply

Marsh Posté le 12-08-2006 à 12:31:01   

Reply

Marsh Posté le 06-10-2006 à 23:28:50    

Reply

Sujets relatifs:

Leave a Replay

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