web-dev-qa-db-fra.com

Sudoers.d Autorisations refusées

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-
2
Ken Sandoval

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
2

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.

2
Byte Commander

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.

0
Ken Sandoval