2 votes

L'utilisateur du groupe sudo ne peut pas effectuer les opérations sudo

J'utilise Ubuntu 14.04 sur AWS et Ansible 1.9 et j'obtiens l'erreur de permission suivante :

$ whoami
>> ubuntu
$ mkdir -p $HOME/.ansible/tmp/testfolder
>> mkdir: cannot create directory ‘/home/ubuntu/.ansible/tmp/testfolder’: Permission denied
$
$ # this works!!
$ sudo mkdir -p $HOME/.ansible/tmp/testfolder
$ # this also works!! (maybe ubuntu doesn't have sudo privileges...)
$ sudo rm -rf $HOME/.ansible/tmp/testfolder
$
$ # ???
$ sudo adduser ubuntu sudo
>> The user `ubuntu' is already a member of `sudo'.

Si ubuntu appartient à la sudo comment se fait-il que je ne puisse pas créer ce répertoire alors que sudo peut ? Comment puis-je vraiment donner ubuntu les privilèges de sudo ?

Modifier pour référence,

$ ls -ld /home/ubuntu/.ansible/
>> drwxr-xr-x 4 root root 4096 Sep  8 00:20 /home/ubuntu/.ansible/

7voto

heemayl Points 85741

Je pense que vous n'êtes pas clair sur quel groupe sudo représente si un utilisateur en est membre.

Par défaut, si un utilisateur est membre du groupe sudo que l'utilisateur peut exécuter des commandes en tant que root en se faisant passer pour une racine en tant que :

sudo some command

Il y a une ligne dans le /etc/sudoers qui rend cela possible :

%sudo   ALL=(ALL:ALL) ALL

Devenir à nouveau membre du groupe sudo ne fait pas de vous root ou ne donne pas la permission d'exécuter des commandes uniquement exécutables par root à la volée. Vous devez toujours utiliser sudo avant cette commande. Ainsi, si un utilisateur n'est pas membre du groupe sudo cet utilisateur ne pourra pas exécuter de commande en tant que root même en utilisant sudo .

Dans votre cas, alors que vous exécutez :

mkdir -p $HOME/.ansible/tmp/testfolder

vous obtiendrez un message de permission refusée car le répertoire /home/ubuntu/.ansible est détenu par root et il n'y a pas de permission pour les autres d'écrire dessus.

D'autre part, pendant que vous utilisiez :

sudo mkdir -p $HOME/.ansible/tmp/testfolder

vous vous êtes fait passer pour root qui a la permission d'écrire sur ce répertoire donc la commande a été un succès.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X