IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

/etc/sudoers : access denied :(


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut /etc/sudoers : access denied :(
    Bonjour,
    Je me tire les cheveux depuis 2 jours pour trouver comment éditer ce maudit fichier. Le fichier se trouve sur un serveur de calcul qu'il m'est impossible de stoper pour le redemarrer avec un live linux. Voici mes étapes pour éditer le fichier :
    • login sur la machine en root : OK (id root: uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),100(users)
    • Utilisation de la commande visudo : OK
    • verifier les droits OK (-r--r----- 1 root root /etc/sudoers; drwxr-xr-x 73 root root /etc
      )
    • mais access denied

    voici le strace de la commande, mais je ne comprends pas ce qui bloque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    execve("/usr/sbin/visudo", ["/usr/sbin/visudo"], [/* 47 vars */]) = 0
    brk(0)                                  = 0x2b3b09a6edc0
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3b09a8b000
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3b09a8c000
    access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
    open("/etc/ld.so.cache", O_RDONLY)      = 3
    fstat(3, {st_mode=S_IFREG|0644, st_size=68198, ...}) = 0
    mmap(NULL, 68198, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b3b09a8d000
    close(3)                                = 0
    open("/lib64/libc.so.6", O_RDONLY)      = 3
    read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\326\343\1\0\0\0\0\0"..., 832) = 832
    fstat(3, {st_mode=S_IFREG|0755, st_size=8975563, ...}) = 0
    mmap(NULL, 3535480, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3b09c8c000
    mprotect(0x2b3b09de2000, 2097152, PROT_NONE) = 0
    mmap(0x2b3b09fe2000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x156000) = 0x2b3b09fe2000
    mmap(0x2b3b09fe7000, 17016, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b3b09fe7000
    close(3)                                = 0
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3b09fec000
    arch_prctl(ARCH_SET_FS, 0x2b3b09fec6f0) = 0
    mprotect(0x2b3b09fe2000, 16384, PROT_READ) = 0
    mprotect(0x2b3b09c8a000, 4096, PROT_READ) = 0
    munmap(0x2b3b09a8d000, 68198)           = 0
    getuid()                                = 0
    brk(0)                                  = 0x2b3b09a6edc0
    brk(0x2b3b09a8fdc0)                     = 0x2b3b09a6edc0
    mmap(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3b09a8d000
    socket(PF_FILE, SOCK_STREAM, 0)         = 3
    fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
    connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
    close(3)                                = 0
    socket(PF_FILE, SOCK_STREAM, 0)         = 3
    fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
    connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
    close(3)                                = 0
    open("/etc/nsswitch.conf", O_RDONLY)    = 3
    fstat(3, {st_mode=S_IFREG|0644, st_size=1696, ...}) = 0
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3b09b8d000
    read(3, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1696
    read(3, "", 4096)                       = 0
    close(3)                                = 0
    munmap(0x2b3b09b8d000, 4096)            = 0
    open("/etc/ld.so.cache", O_RDONLY)      = 3
    fstat(3, {st_mode=S_IFREG|0644, st_size=68198, ...}) = 0
    mmap(NULL, 68198, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b3b09b8d000
    close(3)                                = 0
    open("/lib64/libnss_files.so.2", O_RDONLY) = 3
    read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\37\0\0\0\0\0\0"..., 832) = 832
    fstat(3, {st_mode=S_IFREG|0755, st_size=219526, ...}) = 0
    mmap(NULL, 2143528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3b09fed000
    mprotect(0x2b3b09ff8000, 2093056, PROT_NONE) = 0
    mmap(0x2b3b0a1f7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x2b3b0a1f7000
    close(3)                                = 0
    mprotect(0x2b3b0a1f7000, 4096, PROT_READ) = 0
    munmap(0x2b3b09b8d000, 68198)           = 0
    open("/etc/passwd", O_RDONLY|0x80000 /* O_??? */) = 3
    fcntl(3, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
    fstat(3, {st_mode=S_IFREG|0644, st_size=3029, ...}) = 0
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3b09b8d000
    read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 3029
    close(3)                                = 0
    munmap(0x2b3b09b8d000, 4096)            = 0
    open("/etc/sudoers", O_RDWR|O_CREAT, 0440) = -1 EACCES (Permission denied)
    write(2, "visudo: ", 8visudo: )                 = 8
    write(2, "/etc/sudoers", 12/etc/sudoers)            = 12
    write(2, ": ", 2: )                       = 2
    write(2, "Permission denied\n", 18Permission denied
    )     = 18
    exit_group(1)                           = ?
    J'ai parcouru pas mal les forums, mais sans succes.

    Auriez vous des idées a essayer ?
    Merci
    Z.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 598
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 598
    Points : 19 486
    Points
    19 486
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -r--r----- 1 root root /etc/sudoers
    même root n'a pas les droits d'écriture
    => il faut changer ça avant de tenter de l'éditer.

  3. #3
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Salut N_BaH,
    Merci de ta réponse.
    Ce fichier est spécial, et sur tous les forums, il est dit que /etc/sudoers doit etre 440. On dit aussi qu'il doit etre modifié via la commande visudo.
    C'est mon cas pour ces 2 points et je pense donc que le probleme est autre part.

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    lsattr -d /etc/sudoers /etc /
    ls -ld /etc/sudoers /etc /
    df -k /etc/sudoers
    getenforce
    uname -a

  5. #5
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [root@scrhsj56529 bin]# lsattr -d /etc/sudoers /etc /
    ----i---------- /etc/sudoers
    --------------- /etc
    --------------- /
    [root@scrhsj56529 bin]# ls -ld /etc/sudoers /etc /
    drwxr-xr-x 31 root root 4096 Dec  3 16:18 /
    drwxr-xr-x 73 root root 4096 Dec  6 13:50 /etc
    -r--r-----  1 root root 1180 Feb 27  2013 /etc/sudoers
    [root@scrhsj56529 bin]# df -k /etc/sudoers
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/sda3             69553260  44991268  21028804  69% /
    [root@scrhsj56529 bin]# getenforce
    -bash: getenforce: command not found
    [root@scrhsj56529 bin]# uname -a
    Linux scrhsj56529.sainte-justine.intranet 2.6.31.6-2.caos #1 SMP Tue Nov 17 11:46:26 PST 2009 x86_64 x86_64 x86_64 GNU/Linux

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par Zwiter Voir le message
    [code]
    ----i---------- /etc/sudoers
    Ton fichier sudoers a le bit "immutable" positionné. C'est pour çà que même root ne peut pas le modifier.

    Root peux par contre l'enlever avec:
    et ton problème est résolu.

  7. #7
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -r--r----- 1 root root /etc/sudoers
    même root n'a pas les droits d'écriture
    => il faut changer ça avant de tenter de l'éditer.
    root n'est pas contraint par les permissions classiques (rwx).

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 748
    Points : 31 086
    Points
    31 086
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -r--r----- 1 root root /etc/sudoers
    même root n'a pas les droits d'écriture
    Bonjour
    Cela ne change rien, le noyau Unix/Linux ne prend pas en compte les droits lorsque c'est root (plus précisément un uid=0) qui accède au fichier...

  9. #9
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    Effectivement root n'est pas contraint pas les droits "classiques" unix.

    Root peut être contraint par certains attributs du système de fichier ( cf chattr/lsattr ) mais aussi par SELinux.

  10. #10
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Merci a vous tous.
    L'attribut "i" est effectivement ce qui m'a bloqué.
    Donc pour conclure cette discussion : root peut supprimer tout (uid=0) sauf les fichiers avec attribut 'i'.

    Je remets l'attribut immuable après ma modification : Cela évitera que quelqu'un fasse une mauvaise manip !
    Bonne soirée.
    Z.

  11. #11
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par Zwiter Voir le message
    Donc pour conclure cette discussion : root peut supprimer tout (uid=0) sauf les fichiers avec attribut 'i'.
    Pas seulement, par exemple avec SELinux root n'est plus un compte doté de "super-pouvoirs", root ne peut pas non plus effacer les fichiers présents sur un système de fichier monté en lecture seule ou sur un système de fichier distant (NFS, cifs) sauf si le serveur l'y autorise.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème /etc/sudoers
    Par BenoitDenis dans le forum Administration système
    Réponses: 8
    Dernier message: 13/10/2005, 18h13
  2. ShellExecute - Access Denied sur page web
    Par Neilos dans le forum C++Builder
    Réponses: 7
    Dernier message: 03/10/2005, 13h04
  3. [Applet][Security] Access Denied
    Par medba dans le forum Applets
    Réponses: 3
    Dernier message: 23/09/2005, 15h40
  4. access denied
    Par HULK dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/08/2005, 09h26
  5. Access denied..... Help !
    Par chakan dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/12/2003, 23h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo