Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Script: commandes qui ne marche que sous root ?
Envoyé par: Tintin72

Bonjour,

J'ai fait un script bash (dans /usr/local/bin) pour me connecter à internet.
Le pb c'est que les commandes invoquées dans ce script ne s'éxecutent
que sous root. En simple utilisateur j'ai l'erreur:
/usr/local/bin/connexion line 3 ifconfig command not found.
j'ai pourtant fait le nécessaire au niveau des droits
chown tintin connexion
chmod 755 connexion

alors je comprend pas, si quelqu'un pouvait m'aider.

Merci

Poste le Wednesday 27 June 2007 18:34:54
Répondre     Citer    
Re: Script: commandes qui ne marche que sous root ?
Envoyé par: P Hoquet

Salut,

C'est normal: ifconfig n'est pas dans le PATH de l'utilisateur lambda.
Tu devrais essayer de lancer ton script en tant que root
$ su -c 'usr/local/bin/connexion'

Tu pourrais aussi utiliser sudo et définir ce qui convient au niveau de /etc/sudoers

Ou alors tu peux le mettre dans la séquence de démarrage

# cp /usr/local/bin/connexion /etc/init.d/
# cd /etc/rc.d/rc5.d/
# ln -s ../connexion S99connexion
(instructions à adapter éventuellement)

Poste le Wednesday 27 June 2007 18:50:57
Répondre     Citer    
Re: Script: commandes qui ne marche que sous root ?
Envoyé par: Tintin72

Merci pour ta réponse ;-)
Citation

Tu devrais essayer de lancer ton script en tant que root
Oui, je sais en tant que root ça marche pas de pb.
Ce que je voudrais c'est que tous les utilisateurs puissent se connecter à internet via le script.
Citation

C'est normal: ifconfig n'est pas dans le PATH de l'utilisateur lambda.
Y a t-il un moyen pour changer ça mise à part la solution sudo que je ne comprend pas bien (je débute sous linux) ?

Poste le Wednesday 27 June 2007 19:05:23
Répondre     Citer    
Re: Script: commandes qui ne marche que sous root ?
Envoyé par: P Hoquet

Tu peux par exemple créer un lien
# ln -s $(which ifconfig) /usr/bin/ifconfig
Mais tu resique de te heurter à d'autres problèmes.
Le mieux serait que tu jettes un coup d'oeil ici:
[lea-linux.org]

Poste le Wednesday 27 June 2007 21:58:45
Répondre     Citer    
Re: Script: commandes qui ne marche que sous root ?
Envoyé par: Tintin72

En effet, les droits et l'administration ça rigole pas sous Linux :-))
Pour m'initier un peu j'ai voulu rendre la commande ifconfig exécutable par un utilisateur, mais ça ne marche pas et je ne sais pas pourquoi.
Dans le repertoire sbin, un ls -l montre:
-rwxr-xr-x 1 root root
J'ai donc créé (sous root) un groupe 'internet' dans lequel j'ai mis mon pseudo utilisateur. J'ai ensuite changé le groupe (avec chgrp) pour le repertoire sbin et pour ifconfig. Un ls -l donne bien les résultats attendus
-rwxr-xr-x root internet
Mais lorsque je me remet en utilisateur et que je tape ifconfig j'ai le message:
bash: ifconfig: command not found
Je comprend pas. L'utilisateur devrait maintenant pouvoir invoquer ifconfig non ?
Si quelqu'un pouvait m'éclairer.

Poste le Thursday 28 June 2007 19:23:24
Répondre     Citer    
Re: Script: commandes qui ne marche que sous root ?
Envoyé par: P Hoquet

Je crois l'avoir déjà dit: ifconfig n'est pas dans le PATH de l'utilisateur lambda, et tes manipulations n'y changent rien.
Si tu veux mettre ifconfig dans le PATH des utilsateurs lambda, je t'ai proposé une solution avec création d'un lien symbolique.
Pourquoi n'as-tu pas créé ce lien au lieu d'effectuer tes manipulations?
D'autre part je t'ai donné l'URL d'une doc de lea, c'est pour que tu puisses apprendre à utiliser sudo en le configurant via /etc/sudoers.

Poste le Thursday 28 June 2007 22:00:02
Répondre     Citer    
Re: Script: commandes qui ne marche que sous root ?
Envoyé par: Tintin72

Je suis effectivement parti dans des manips inutiles, sorry.
J'ai donc rajouté le lien symbolique dans mon script bash et ça marche bien.
Par contre je ne comprend pas le which dans la syntaxe:
$(which ifconfig)
que signifie ce which exactement ?

Cette méthode semble bien fonctionner, toutefois quel sont les problèmes dont tu parlait auxquels je risque de me heurter ?





Poste le Friday 29 June 2007 18:35:22
Répondre     Citer    
Re: Script: commandes qui ne marche que sous root ?
Envoyé par: P Hoquet

J'ai employé une formule qui fonctionne quelque soit l'endroit où est ton ifconfig.
J'aurais pu écrire:
# ln -s /sbin/ifconfig /usr/bin/ifconfig
Mais si ifconfig n'était pas dans /sbin, la création du lien aurait foiré.
En fait which ifconfig retourne le chemin vers ifconfig.
Ceci dit même si une commande est mise dans le PATH d'un utilisateur ordinaire, encore faudrait-il qu'elle soit exécutable pour l'utilisateur (c'était le cas), mais de plus il faudrait que l'utilisateur ait le droit de faire tout ce que la commande doit faire.
Voilà pourquoi tu aurais pu avoir des problèmes.


Poste le Friday 29 June 2007 21:54:37
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Script: commandes qui ne marche que sous root ?
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons