(resolu) SUDO : can't open /etc/sudoers: Permission denied

Bonjour à tous

voici mon problème :
% sudo commande
sudo: can’t open /etc/sudoers: Permission denied

j’ai 2 systèmes debian etch(stable)
sudo fonctionnait très bien sur les 2 systèmes puis il s’est mis à ne plus marcher sur l’un deux

pourtant, les accès aux fichiers concernant le paquet sudo sont les mêmes. les fichiers sudoers sont les mêmes

dans /var/log/auth.log
quand cela marchait
Jan 26 16:17:37 bv-pc sudo: bv : TTY=pts/1 ; PWD=/home/bv ; USER=root ; COMMAND=/bin/mount /mnt/hda3
depuis que cela ne marche plus
Jan 31 11:47:35 bv-pc sudo: bv : can’t open /etc/sudoers: Permission denied ; TTY=pts/3 ; PWD=/home/bv ; USER=root ;

ce 3 dans TTY=pts/3 m’intrigue car dans auth.log c’est la première fois qu’il apparaît

Pas d’autre message dans les fichiers log

pouvez-vous m’indiquer un site qui puisse m’aider ou m’aider directement ?

avec mes remerciements

Salut,

Vérifies les droits sur le fichier qui doivent être :
-r–r----- 1 root root

j’avais déjà vérifié
ls -l /etc/sudoers
-r–r----- 1 root root 1217 2008-01-29 18:07 /etc/sudoers

en effet si je mets d’autres droits, le message retour signale qu’il faut les changer

j’ai l’impression que le problème est plus grave

tu as essayer d’ouvrir ce fichier avec visudo en root, normalement il ne faut ouvrir ce fichier QU’AVEC visudo mais bon tout le monde n’e fait qu’à sa tête et ça casse le sudo…

j’ai ouvert ce fichier pour la première configuration avec visudo
puis avec sudo visudo

chaque fois que je faisais une erreur de syntaxe il me le signalait

si je fais maintenant un visudo en tant que root, il ne me signale aucune erreur

je viens de purger le paquet sudo et de refaire le sudoers avec visudo

même problème

tu peux poster ton /etc/sudoers?

le voici. c’est le même qui marche trés bien sur mon autre système etch

/etc/sudoers

This file MUST be edited with the ‘visudo’ command as root.

See the man page for details on how to write a sudoers file.

Host alias specification

Host_Alias BV_PC = localhost, bv-pc

User alias specification

User_Alias ADMIN_BV = bv

Cmnd alias specification

Cmnd_Alias ADMIN_TOOLS = /usr/sbin/adduser,
/usr/bin/apt-cache,
/usr/bin/apt-file,
/usr/bin/aptitude,
/bin/cat,
/bin/chmod,
/bin/chgrp,
/bin/chown,
/bin/cp,
/etc/init.d/cupsys,
/etc/network/if-pre-up.d/iptables-start,
/usr/bin/dpkg,
/usr/sbin/dpkg-reconfigure,
/etc/init.d/gpm,
/bin/gzip,
/sbin/hdparm,
/sbin/ifconfig,
/sbin/iptables, \
/usr/bin/kedit,
/bin/ln,
/usr/sbin/localepurge,
/usr/bin/make,
/usr/bin/mdetect,
/bin/mkdir,
/usr/sbin/modconf,
/sbin/modprobe,
/usr/bin/module-assistant,
/bin/mount,
/bin/mv,
/bin/nano,
/bin/rm,
/bin/rmdir,
/usr/bin/scanimage,
/etc/init.d/sysklogd,
/bin/umount,
/usr/sbin/visudo,
/usr/bin/wget

User privilege specification

root ALL=(ALL) ALL

ADMIN_BV BV_PC = NOPASSWD : ADMIN_TOOLS

#EOF

et su -c “emacs /etc/sudoers” (ou l’éditeur de ton choix)

/usr/bin/sudo a-t-il les droits -rwsr-xr-x? Je pense que le bit suid a du sauter, rétablis le.

voici les droits existants sur sudo
ls -l /usr/bin/sudo
-rwsr-xr-x 2 root root 91700 2006-04-15 09:39 /usr/bin/sudo

en ce qui concerne l’éditeur, je n’ai rien changé et je pense que l’éditeur de base est nano. Je fais la manip de changer d’éditeur mais je ne pense pas que le problème vienne de là

[quote]# Host alias specification
Host_Alias BV_PC = localhost, bv-pc[/quote]

Une idée histoire de faire avancer le schmilblick, tu n’as pas changé le nom de ton pc, il y a toujours bien localhost d’indiqué dans ton /etc/hosts ?

C’est juste une idée…

en procédant par élimination

  • ne fonctionne ni en console ni en Konsole : donc kde n’est pas en cause
  • les droits sur les fichiers et des répertoires concernés suivants sont les mêmes sur mes deux système (sudo fonctionne sur l’un)
    apt-file list sudo
    sudo: etc/init.d/sudo
    sudo: etc/pam.d/sudo
    sudo: usr/bin/sudo
    sudo: usr/bin/sudoedit
    sudo: usr/lib/sudo/sudo_noexec.la
    sudo: usr/lib/sudo/sudo_noexec.so
    sudo: usr/sbin/visudo
    sudo: usr/share/doc/sudo/BUGS
    sudo: usr/share/doc/sudo/HISTORY
    sudo: usr/share/doc/sudo/OPTIONS
    sudo: usr/share/doc/sudo/PORTING.gz
    sudo: usr/share/doc/sudo/README
    sudo: usr/share/doc/sudo/README.Debian
    sudo: usr/share/doc/sudo/RUNSON.gz
    sudo: usr/share/doc/sudo/TODO.gz
    sudo: usr/share/doc/sudo/TROUBLESHOOTING.gz
    sudo: usr/share/doc/sudo/UPGRADE
    sudo: usr/share/doc/sudo/changelog.Debian.gz
    sudo: usr/share/doc/sudo/changelog.gz
    sudo: usr/share/doc/sudo/copyright
    sudo: usr/share/doc/sudo/examples/sudoers
    sudo: usr/share/lintian/overrides/sudo
    sudo: usr/share/man/man5/sudoers.5.gz
    sudo: usr/share/man/man8/sudo.8.gz
    sudo: usr/share/man/man8/sudoedit.8.gz
    sudo: usr/share/man/man8/visudo.8.gz

donc ce n’est pas un problème de droit de la commande sudo et ses fichiers

encore une autre idée, tes /etc/fstab sont identiques sur tes 2 machines ? Tu n’as pas par exemple sur ta machine dont le sudo ne fonctionne plus changé des options de montage de tes partitions ?

(Je vais peut-être chercher trop loin…)

voici /etc/hosts
127.0.0.1 localhost
192.168.0.10 bv-pc.bv bv-pc

le même sur les deux systèmes

voici mes 2 fstab sur hda3 ça marche sur hda7 ça plante

/etc/fstab: static file system information.

proc /proc proc defaults 0 0
/dev/hda3 / reiserfs defaults 0 1
/dev/hda1 /boot reiserfs notail 0 2
/dev/hda2 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/hdd /media/cdrom1 udf,iso9660 user,noauto 0 0

/etc/fstab: static file system information.

proc /proc proc defaults 0 0
/dev/hda7 / reiserfs defaults 0 1
/dev/hda1 /boot reiserfs notail 0 2
/dev/hda2 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/hdd /media/cdrom1 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

c’est peut être une piste car au moment du plantage je bidouillais fstab pour installer ntfs-3g (lecture écriture de partition windob)

[quote]# /etc/sudoers

This file MUST be edited with the ‘visudo’ command as root.

See the man page for details on how to write a sudoers file.

Host alias specification

Host_Alias BV_PC = localhost, bv-pc
(…)[/quote]

Essaie de mettre juste localhost et non localhost, bv-pc

[quote]voici /etc/hosts
127.0.0.1 localhost
192.168.0.10 bv-pc.bv bv-pc

le même sur les deux systèmes[/quote]
Celui qui plante est le 192.168.0.10 ou l’autre PC ?

j’ai essayé

Host alias specification

Host_Alias BV_PC = localhost

même message : sudo: can’t open /etc/sudoers: Permission denied

Bon, fais un
$ strace sudo ta_commande_que_tu_veux_faire 2> /tmp/trace1
sur les deux machines et compare les deux fichiers /tmp/trace1 obtenus. Tu verras où est le pbm.

j’avais essayé cette commande et je n’ai rien repéré. c’est vrai que je ne comprends pas tout. Les deux ne trouvent pas deux fichiers, si cela marche sur l’un cela ne doit pas être très grave. je note des différences en ce qui concerne les adresses mémoires, ce qui me semble normal. il y a la dernière ligne :
Process 3214 detached (sur celui qui ne marche pas)
Process 3218 detached (sur celui qui marche)

là malgré mais recherche, je ne sais pas ce que cela signifie

le strace sur celui qui marche :
strace sudo mount
execve("/usr/bin/sudo", [“sudo”, “mount”], [/* 32 vars */]) = 0
uname({sys=“Linux”, node=“bv-pc”, …}) = 0
brk(0) = 0x8062000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ef0000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=51135, …}) = 0
mmap2(NULL, 51135, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7ee3000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libpam.so.0", O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\23”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=29700, …}) = 0
mmap2(NULL, 32656, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7edb000
mmap2(0xb7ee2000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb7ee2000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\f\0”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=9592, …}) = 0
mmap2(NULL, 12404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7ed7000
mmap2(0xb7ed9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7ed9000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240O\1”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1241392, …}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ed6000
mmap2(NULL, 1247388, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7da5000
mmap2(0xb7ecc000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x127) = 0xb7ecc000
mmap2(0xb7ed3000, 10396, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7ed3000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7da4000
mprotect(0xb7ecc000, 20480, PROT_READ) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7da46c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xb7ee3000, 51135) = 0
geteuid32() = 1000
write(2, "sudo: ", 6sudo: ) = 6
write(2, “must be setuid root”, 19must be setuid root) = 19
write(2, “\n”, 1
) = 1
exit_group(1) = ?
Process 3218 detached

le strace sur celui qui ne marche pas :
strace sudo mount
execve("/usr/bin/sudo", [“sudo”, “mount”], [/* 32 vars */]) = 0
uname({sys=“Linux”, node=“bv-pc”, …}) = 0
brk(0) = 0x8062000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f15000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=56485, …}) = 0
mmap2(NULL, 56485, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f07000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libpam.so.0", O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\23”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=29700, …}) = 0
mmap2(NULL, 32656, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7eff000
mmap2(0xb7f06000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb7f06000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\f\0”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=9592, …}) = 0
mmap2(NULL, 12404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7efb000
mmap2(0xb7efd000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7efd000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240O\1”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1241392, …}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7efa000
mmap2(NULL, 1247388, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7dc9000
mmap2(0xb7ef0000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x127) = 0xb7ef0000
mmap2(0xb7ef7000, 10396, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7ef7000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7dc8000
mprotect(0xb7ef0000, 20480, PROT_READ) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7dc86c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xb7f07000, 56485) = 0
geteuid32() = 1000
write(2, "sudo: ", 6sudo: ) = 6
write(2, “must be setuid root”, 19must be setuid root) = 19
write(2, “\n”, 1
) = 1
exit_group(1) = ?
Process 3214 detached