L'utilisateur du groupe sudo ne peut pas utiliser la commande sudo

14

J'ai un utilisateur, supersecretuserqui fait partie du sudogroupe, mais n'y a pas sudoaccès. Y a-t-il autre chose à faire pour donner cet sudoaccès à cet utilisateur ?

$ ssh supersecretuser@myserver
supersecretuser@myserver:~$ groups
supersecretuser adm cdrom sudo dip plugdev lpadmin sambashare
supersecretuser@myserver:~$ sudo vim install.sh 
[sudo] password for supersecretuser: 
supersecretuser is not in the sudoers file.  This incident will be reported.

supersecretuser est l'utilisateur que nous configurons lors de l'installation d'Ubuntu.

Jay Mitchell
la source
4
Vous supersecretuserêtes- vous déconnecté et reconnecté (ou au moins lancé un nouveau shell de connexion, par exemple su - supersecretuser) depuis qu'il a été ajouté au sudogroupe?
steeldriver
Quand je ssh en tant que supersecretuser, je peux voir que c'est dans le sudogroupe. Dois-je faire autre chose pour me déconnecter? Ajout de ssh au serveur pour questionner.
Jay Mitchell, le
Si vous avez un autre superutilisateur, j'essayerais à nouveau d'ajouter suspersecretuserau sudogroupe. sudo adduser supersecretuser sudo. Vous pourriez avoir une erreur comme user is already in group sudo, mais ça vaut le coup.
Dan

Réponses:

8

Étant donné que votre message d'erreur indique votre utilisateur is not in the sudoers file, pourriez-vous s'il vous plaît vérifier votre /etc/sudoersfichier, voir s'il existe une telle ligne:

%sudo   ALL=(ALL:ALL) ALL

Si cette ligne est manquante, les utilisateurs du sudogroupe ne seront pas sudoers. Modifiez le fichier à l'aide de la visudocommande (vérifie la syntaxe correcte et verrouille le fichier).

Vous pouvez également essayer d'ajouter une ligne personnalisée comme celle-ci:

root    ALL=(ALL:ALL) ALL

Remplacez rootpar votre nom d'utilisateur, redémarrez et essayez si cela fonctionne.

bfrgzju
la source
Je ne peux pas sudovoir ce fichier pour dire que c'est à 100% le problème. Cependant, sur la base de notre script de chef que nous utilisons sur d'autres serveurs, je peux voir que nous n'ajoutons pas d' supersecretuserutilisateur /etc/sudoers.
Jay Mitchell, le
Merci beaucoup pour la réponse, j'ai eu sudoet adminenregistré mais ils n'étaient pas préfixés avec un %.
berezovskyi
6

Selon votre conversation avec @steeldriver dans les commentaires, je suppose que votre utilisateur n'est pas déconnecté.

La meilleure façon de vous assurer que l' supersecretusera déconnecté est de taper dans le terminal, comme un autre utilisateur, who.

Ce faisant, j'obtiens une sortie comme celle-ci:

mitch@quartz:~$ who
mitch    :0           2014-09-08 09:49 (:0)
mitch    pts/0        2014-09-08 13:18 (:0.0)

Je ne me vois que. De même, taper wdans un terminal me montre qui est tout connecté et ce qu'il fait:

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
mitch    :0       :0               09:49   ?xdm?  29:08   0.11s init --user
mitch    pts/0    :0.0             13:18    5.00s  0.06s  0.01s w

Vous pouvez ARRÊTER votre autre utilisateur (SSU, je l'appellerai) avec la commande suivante:

pkill -STOP -u SSU

Cependant, à vrai dire, la solution la plus simple serait de simplement redémarrer le système si cela est possible.

Mitch
la source
Redémarrage du serveur et je n'y ai pas sudoaccès.
Jay Mitchell, le
Vous avez donc perdu la possibilité pour votre utilisateur de ssh sur le serveur?
Mitch
Désolé, commentaire mis à jour. Peut toujours ssh dans le serveur, tout simplement pas sudoaccéder.
Jay Mitchell
Pouvez-vous mettre à jour le message d'origine avec la méthode que vous avez utilisée pour accorder l'accès sudo à l'utilisateur?
Mitch
supersecretuserest l'utilisateur que nous configurons lors de l'installation d'Ubuntu.
Jay Mitchell du
0

La façon la plus simple d'ajouter un super-utilisateur au groupe sufo est de demander à ce dernier de se sudo gpasswd -a supersecretuser sudodéconnecter / se reconnecter ; mais si vous avez perdu la capacité de sudo, je crains que vous ne deviez réinstaller.

Tolga Ozses
la source
-1

Après avoir vérifié que les privilèges de fichier sont corrects:

-r--r----- 1 root root x x x x:x /etc/sudoers

Vous avez très probablement perdu l' sexécutable -bit sur fichier, il devrait lire:

-rwsr-xr-x 2 root root x x x  x /usr/bin/sudo

si ce n'est pas le cas: avec les privilèges root, donnez `

chmod u+s /usr/bin/sudo

et ça devrait aller .. sauf si vous savez que vous avez modifié le sudoersfichier vous-même! :)

grenouille verte
la source
3
-1 Les problèmes avec les autorisations de fichier du sudobinaire et de la sudoersconfiguration entraînent des messages d'erreur différents de ceux de la question. Ils feraient littéralement référence à des autorisations de fichiers inappropriées.
David Foerster