Je rencontre un comportement bizarre de sudo sur OpenBSD (4.7). Je n'ai
que NetBSD et Debian Linux pour comparer. J'essaye juste d'écrire une
règle pour laisser un utilisateur monter un CD-Rom.
bob@linux$ su
Password:
linux# grep cdrom /etc/sudoers
bob ALL=NOPASSWD: /bin/mount /mnt/cdrom,/bin/umount /mnt/cdrom
linux#
bob@linux$ sudo -V
Sudo version 1.6.9p17
bob@linux$ sudo mount /mnt/cdrom
mount: can't find /mnt/cdrom in /etc/fstab or /etc/mtab
(normal, je n'ai pas de lecteur de CD sur cette machine, mais mount est
quand meme exécuté, donc sudo a fait son boulot.)
openbsd$ grep cdrom /etc/fstab
/dev/cd0c /mnt/cdrom cd9660 ro,noauto
openbsd$ grep cdrom /etc/sudoers
%users ALL=NOPASSWD:/sbin/mount /mnt/cdrom,/sbin/umount /mnt/cdrom
openbsd$ sudo -V
Sudo version 1.7.2p5
openbsd$ sudo mount /mnt/cdrom
Password:
Sorry, user bob is not allowed to execute '/sbin/mount /mnt/cdrom' as root
on openbsd.
Après plusieurs tests, il semblerait que ce sudo comprenne mal les règles
dans lesquelles l'argument d'une commande comporte un slash (/) ? Est-ce
un comportement connu ?
--
Étienne
There are times when truth is stranger than fiction and lunch time is
one of them.
T'as pas la vague impression qu'il manque un espace ?
Miod Vallat
openbsd$ grep cdrom /etc/fstab /dev/cd0c /mnt/cdrom cd9660 ro,noauto openbsd$ grep cdrom /etc/sudoers %users ALL=NOPASSWD:/sbin/mount /mnt/cdrom,/sbin/umount /mnt/cdrom openbsd$ sudo -V Sudo version 1.7.2p5 openbsd$ sudo mount /mnt/cdrom Password: Sorry, user bob is not allowed to execute '/sbin/mount /mnt/cdrom' as root on openbsd.
L'utilisateur `bob' est-il membre du groupe `users' ?
openbsd$ grep cdrom /etc/fstab
/dev/cd0c /mnt/cdrom cd9660 ro,noauto
openbsd$ grep cdrom /etc/sudoers
%users ALL=NOPASSWD:/sbin/mount /mnt/cdrom,/sbin/umount /mnt/cdrom
openbsd$ sudo -V
Sudo version 1.7.2p5
openbsd$ sudo mount /mnt/cdrom
Password:
Sorry, user bob is not allowed to execute '/sbin/mount /mnt/cdrom' as root
on openbsd.
L'utilisateur `bob' est-il membre du groupe `users' ?
openbsd$ grep cdrom /etc/fstab /dev/cd0c /mnt/cdrom cd9660 ro,noauto openbsd$ grep cdrom /etc/sudoers %users ALL=NOPASSWD:/sbin/mount /mnt/cdrom,/sbin/umount /mnt/cdrom openbsd$ sudo -V Sudo version 1.7.2p5 openbsd$ sudo mount /mnt/cdrom Password: Sorry, user bob is not allowed to execute '/sbin/mount /mnt/cdrom' as root on openbsd.
L'utilisateur `bob' est-il membre du groupe `users' ?
T'as pas la vague impression qu'il manque un espace ?
Pfff. Désolé, je viens de comprendre, et une fois de plus, ça m'arrive après avoir demandé de l'aide.
Non, ça ne venait pas d'un espace manquant (j'avais essayé un paquet de façons différentes), mais de la complétion de mon shell qui me rajoute un slash après "cdrom", ce qui ne correspond pas à la règle. J'essaye maintenant de comprendre comment ça n'est pas arrivé sur mes autres plateformes. Peut-etre une différence d'un shell à l'autre ...
T'as pas la vague impression qu'il manque un espace ?
Pfff. Désolé, je viens de comprendre, et une fois de plus, ça m'arrive
après avoir demandé de l'aide.
Non, ça ne venait pas d'un espace manquant (j'avais essayé un paquet de
façons différentes), mais de la complétion de mon shell qui me
rajoute un slash après "cdrom", ce qui ne correspond pas à la règle.
J'essaye maintenant de comprendre comment ça n'est pas arrivé sur mes
autres plateformes. Peut-etre une différence d'un shell à l'autre ...
T'as pas la vague impression qu'il manque un espace ?
Pfff. Désolé, je viens de comprendre, et une fois de plus, ça m'arrive après avoir demandé de l'aide.
Non, ça ne venait pas d'un espace manquant (j'avais essayé un paquet de façons différentes), mais de la complétion de mon shell qui me rajoute un slash après "cdrom", ce qui ne correspond pas à la règle. J'essaye maintenant de comprendre comment ça n'est pas arrivé sur mes autres plateformes. Peut-etre une différence d'un shell à l'autre ...