Je cours Ubuntu 14.04 dans DardDrive. Je suivais les étapes pour configurer et exécuter Sudo
situé ici http://snag.gy/JAGgt.jpg . Mais chaque fois que je tape Sudo "whatever"
en tant qu'utilisateur ($), je reçois le message suivant:
Sudo: unable to stat /etc/sudoers.d/README: Permission denied
Sudo: unable to stat /etc/sudoers.d/ken: Permission denied.
alors j'ai nivelé en tant que root et fait ls -l | grep sud
. Voir ce qui suit:
root@ken-:/etc# ls -l | grep sud
-rw-r----- 1 root root 745 mar 19 12:11 sudoers
drwxr----- 2 root root 4096 mar 19 14:53 sudoers.d
Selon les instructions relatives à la configuration de Sudo
, je devrais créer un répertoire portant le même nom que mon nom d'utilisateur dans le répertoire sudoers.d
et dans ce fichier, il suffit de taper ALL(ALL)LL
sur le nom d'utilisateur. mais, j'ai aussi fait un chmod 440
sur ce fichier, ce qui lui donne l'aspect suivant:
root@ken-Inspiron-5558:/etc/sudoers.d# ls -l
total 8
-r--r----- 1 root root 22 mar 19 14:53 ken
-r--r----- 1 root root 958 mar 19 12:16 README
À ce stade, lorsque je suis de niveau avec Sudo su ken
et que je souhaite entrer dans sudoers.d, je continue à recevoir la déclaration d’autorisation refusée.
Je ne suis même pas capable d'accéder à sudoers.d en tant qu'utilisateur, voyez ceci:
ken@ken-Inspiron-5558:/etc$ cd /etc/sudoers.d/
bash: cd: /etc/sudoers.d/: Permission denied-
Premièrement, d'après les instructions, il s'agit de ALL=(ALL) ALL
, il y a donc un problème.
Deuxièmement, les instructions disent Si votre système ne dispose pas déjà de Sudo configuré et activé , vous devez réellement aurait dû vérifier avant de faire le reste.
Troisièmement, supprimez simplement le fichier ken
. Votre nom d'utilisateur est ajouté au groupe Sudo
automatiquement lors de l'installation (s'il s'agit bien du nom d'utilisateur que vous avez choisi lors de l'installation et non créé manuellement).
Enfin, examinez vos autorisations /etc/sudoers.d
:
root@ken-:/etc# ls -l | grep sud
-rw-r----- 1 root root 745 mar 19 12:11 sudoers
drwxr----- 2 root root 4096 mar 19 14:53 sudoers.d
Un répertoire nécessite que le bit d'autorisations d'exécution soit défini pour pouvoir y accéder . Vous ne pouvez pas naviguer dans le répertoire car seul le propriétaire (racine) a x défini pour celui-ci ( publication connexe sur serverfault montre que bien assez). Donc, votre navigation vers le problème /etc/sudoers.d
_ n'a rien à faire avec Sudo
mais avec les bits d'autorisation de dossier
Mais si vous n'êtes toujours pas convaincu, présentez une démo sur un répertoire de mon utilisateur situé dans mon dossier personnel.
$ ls -ld testdir
drwxrwxr-x 2 xieerqi xieerqi 4096 Mar 17 16:34 testdir/
$ chmod -x testdir
$ cd testdir
/bin/mksh: cd: /home/xieerqi/testdir: Permission denied
Vous n'auriez rien ajouté à /etc/sudoers.d/
!
C’est tout simplement inutile et dangereux (comme vous le voyez). Tous les utilisateurs admin (y compris le compte d'utilisateur par défaut créé lors de l'installation) sont déjà autorisés à utiliser Sudo
pour exécuter des commandes avec les privilèges root.
Supprimez à nouveau le fichier /etc/sudoers.d/ken
et annulez toutes les modifications apportées à /etc/sudoers.d
.
Vous pouvez utiliser pkexec
comme remplacement temporaire de Sudo
pour résoudre les problèmes alors que cela ne fonctionne pas:
pkexec rm /etc/sudoers.d/ken
Les utilisateurs administrateurs sur Ubuntu sont définis par leur appartenance au groupe Sudo
(anciennement admin
).
Lorsque vous ajoutez de nouveaux utilisateurs administrateurs via l'interface graphique de Unity Control Center, les membres de ce groupe sont automatiquement pris en charge.
Lorsque vous ajoutez un nouvel utilisateur du terminal à l'aide de Sudo adduser USERNAME
, il ne sera membre d'aucun groupe supplémentaire. Dans ce cas, vous devez ajouter ces deux groupes manuellement pour que le compte devienne un administrateur autorisé à utiliser Sudo
:
Sudo adduser USERNAME Sudo
Et dans les rares cas où vous devriez réellement éditer /etc/sudoers
ou un fichier dans /etc/sudoers.d/
, jamais faites-le manuellement mais ** utilisez toujours Sudo visudo
pour éditer il! Cette commande vérifiera les fichiers et vérifiera les erreurs avant d'appliquer les modifications et évitera de vous laisser avec une commande ruinée Sudo
.
J'ai résolu le problème en élevant en tant que root, puis root @ root # chmod 755/root/etc/sudoers et sudoers.d. Étant donné que je suis le seul à utiliser l'ordinateur, le fait que les autorisations soient définies pour ugo ne me dérange pas vraiment.