PDA

Voir la version complète : Les mystères de visudo



Ash_Crow
03/03/2009, 11h07
Je viens de remarquer un truc au boulot...

J'autorise l'utilisateur usertest à lancer un certain nombre de commandes, dont mv.
Le chemin précisé est /usr/local/bin/mv.

Testons.


serveurtest:usertest> ls
total 4
drwxr-xr-x 36 root root 1024 Jul 21 2008 ..
-rw-r--r-- 1 root other 0 Mar 3 10:33 foo
drwxr-xr-x 2 root root 512 Mar 3 10:33 .
serveurtest:usertest> mv foo bar
mv: cannot rename foo to bar: Permission denied

Normal.



serveurtest:usertest> sudo mv foo bar

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:

#1) Respect the privacy of others.
#2) Think before you type.

Password:
serveurtest:usertest>

Pas normal, là... Pourtant la commande existe bien. Et elle fonctionne bien. Je vire local/ dans le chemin, ce qui donne : /usr/bin/mv.



serveurtest:usertest> sudo mv foo bar
serveurtest:usertest> ls -l
total 4
drwxr-xr-x 36 root root 1024 Jul 21 2008 ..
-rw-r--r-- 1 root other 0 Mar 3 10:33 bar
drwxr-xr-x 2 root root 512 Mar 3 10:39 .

Ah ben ce coup-ci, ça marche :huh:

Une idée de pourquoi il ne veut pas du premier chemin ? (Pour info, c'est une machine sous SunOS 5.9)

ducon
03/03/2009, 17h04
Que dit echo $PATH ? En clair, quel est l’ordre des répertoires contenant les exécutables ?

Ash_Crow
03/03/2009, 17h07
:w00t: Je n'y avais pas pensé !

Je ne peux pas vérifier ça maintenant (j'ai fini le boulot), mais je pense que tu tiens la bonne piste...

paulez
03/03/2009, 17h07
[...]


serveurtest:usertest> sudo mv foo bar

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:

#1) Respect the privacy of others.
#2) Think before you type.

Password:
serveurtest:usertest>
Pas normal, là...
[...]
Je ne vois pas ce qui est anormal là dedans ?

claneys
03/03/2009, 17h08
Ça ressemble pas à un message d'erreur, De ce que je comprend c'est juste un message de prévention, bienvenue. Il doit apparaître la première fois que l'utilisateur utilise sudo et qu'il en a le droit ( par rapport au sudoers ), ensuite ce message n'apparaît plus.

Ash_Crow
03/03/2009, 17h16
Je ne vois pas ce qui est anormal là dedans ?

Damn, j'ai coupé-collé trop court. Derrière il y avait le bla-bla habituel qui te dit que c'est pas bien de tenter de faire des commandes pas autorisées et qu'il allait rapporter à la maîtresse...

Dekans
03/03/2009, 20h59
Sous ubuntu, mv est dans /bin/ donc pas dans /usr/local/bin/.

ducon
03/03/2009, 21h03
C’est normal, /usr/local/ contient les trucs qui ne sont pas habituellement dans la distribution, par exemple les jeux, les documentations bizarres, les scripts maison, les machins compilés à la main…

Ash_Crow
03/03/2009, 21h04
En l'occurence, les commandes qui m'intéressaient sont à la fois dans /usr/bin et dans /usr/local/bin (pas la même version cela dit. Celle dans /usr/local/bin fait environ 10 fois le poids de l'autre), donc le problème ne venait pas de là.

ducon
03/03/2009, 21h19
Regarde alors l’ordre dans $PATH puisque tu as les mêmes noms de commandes à des endroits différents.

Ash_Crow
04/03/2009, 06h39
serveurtest:usertest> echo $PATH
/oracle/SID/102_64/bin:/usr/java/bin:.:/home/usertest:/usr/sap/SID/SYS/exe/run:/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin:/usr/dt/bin:/usr/openwin/bin:/usr/local/bin:/usr/ucb
(nota : l'usertest (qui ne s'appelle pas comme ça en vrai) est un compte d'administration SAP.)

paulez
04/03/2009, 13h55
Ou sinon que retourne la commande # which mv ?