Comment ajouter un utilisateur au groupe «sudo»?

187

Dans /etc/sudoersje vois ceci:

# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL

Alors, comment puis-je ajouter un utilisateur à ce sudogroupe?

Moulin à café
la source
Est-ce que quelqu'un d'autre ici tente de faire fonctionner sudo sans mot de passe sur Ubuntu 17?
Adam F
@ AdamF regardez ici . La prochaine fois, posez une nouvelle question si vous souhaitez une réponse plus rapide. ;-)
Fabby
Coffe-Grinder: cela vous dérangerait-il de changer votre acceptation en réponse la plus votée, car c'est une meilleure façon de le faire? (pas de mot de passe du tout)
Fabby

Réponses:

250
sudo usermod -aG sudo <username>

Le aest très important. Sans cela, ils seront supprimés de tous les autres groupes. Vous devrez redémarrer votre shell / terminal ou vous déconnecter et vous reconnecter pour que cela prenne effet.

Voir également:

maco
la source
J'ai fait ce que tu recommandais, mais le terminal m'a dit bash: sudo: command not foundpourquoi?
Teifi
@ Teifi, cela signifie que vous n'avez probablement pas sudoinstallé ou, pour une raison étrange, que ce n'est pas dans votre chemin. Qu'est-ce qui se passe quand tu cours which sudo?
n0pe
Les nouveaux terminaux ne suffisaient pas. Nous avons fini par redémarrer pour une autre raison et maintenant cela fonctionne. Probablement vous déconnecter / vous connecter.
deed02392
Je sais que ac'est pour append, mais je pense qu'il sera plus utile d'avoir append comme comportement par défaut. La création d'un alias est facile, ce sera donc le moyen de l' groupadd groupajouter. J'ai fait la commande sans -a une fois aujourd'hui car je ne me souvenais pas de l' -aargument.
erm3nda
Bien que ce soit un forum Ubuntu, pour CentOS je devais le faire sudo usermod -aG sudo <username>. Parce qu'il n'y avait pas de moyen facile pour moi de découvrir cela.
Akki
43

Vous pouvez soit utiliser l'interface graphique de gestion des utilisateurs pour celle-ci (même endroit où vous créez des utilisateurs), soit utiliser sudo adduser <username> sudola ligne de commande.

txwikinger
la source
2
Ceci est également mentionné dans la documentation ubuntu sur RootSudo, même s’ils se réfèrent au groupe admin au lieu du groupe sudo
icc97
8
+1: il s'agit du moyen le plus facile à retenir, simple et intuitif pour ajouter un utilisateur à un groupe!
Andrea Corbellini
Cela me donne une erreur en disantUsage: adduser [options] LOGIN\n adduser -D\n adduser -D [options]\n
Akki
23

Vous pouvez également utiliser une interface graphique. Cliquez sur l'engrenage en haut à droite du panneau, puis sélectionnez "Paramètres système" puis "Comptes d'utilisateurs".

Vous devez cliquer sur le petit bouton de déverrouillage pour pouvoir modifier les éléments de cette fenêtre. Cliquez ensuite sur le compte de la personne et sélectionnez le menu déroulant approprié pour "Type de compte".

entrez la description de l'image ici

qbi
la source
J'ai Ubuntu 10.10 mais mon interface graphique est en quelque sorte verrouillée. Il s'ouvre mais lorsque les boutons sont appuyés, rien ne se passe. Je suppose que quelque chose est lié aux privilèges (je suis réellement sudoer). Comment puis-je résoudre ce problème?
linello
Avez-vous cliqué sur le bouton "déverrouiller"?
daboross
Belle animation! Je voudrais faire une telle animation pour montrer les nouvelles fonctionnalités de mon application web? Je suis sur Lubuntu 16.04 ...
Stephane
20

C'est vraiment simple si vous utilisez Unity comme environnement de bureau.

Si vous avez déjà créé un utilisateur, vous pouvez simplement le changer de Standard à Administrateur . Sinon, assurez-vous d'avoir sélectionné Administrateur lors de la création d'un nouvel utilisateur.

N'oubliez pas de déverrouiller avant d'essayer de le changer

entrez la description de l'image ici

Bruno Pereira
la source
2
Animation GIF très cool! +1 Comment l'avez-vous fait? Déplacé la question ici .
hhh
2

sudo gpasswd -a $USER sudo

Joschi
la source
2

Je suis en retard à la fête, mais cette réponse pourrait aider quelqu'un qui utilise Ubuntu dans un conteneur Docker.

J'ai récemment créé un conteneur Docker basé sur Ubuntu 16.04.1.

Par défaut, l'image Docker Ubuntu est une version réduite d'Ubuntu, qui ne contient pas la grande majorité des outils courants, notamment sudo.

De plus, par défaut, l'utilisateur est connecté au conteneur Docker en tant que root.

Par conséquent, j'ai démarré le conteneur avec la docker runcommande et installé le package 'sudo':

root@default:/# apt-get install sudo

L'exécution de la commande a adduser myuser sudosignalé une erreur adduser: The user 'myuser' does not exist.. Après avoir lu cette réponse , j'ai d'abord exécuté la commande pour créer l'utilisateur:

root@default:/# adduser myuser

Puis a lancé la commande suivante:

root@default:/# adduser myuser sudo
Adding user `myuser' to group `sudo' ...
Adding user myuser to group sudo
Done.

L'utilisateur myuser a été ajouté avec succès au groupe sudo.

Antony
la source
1

Utilisez usermod. Ajoutez l'autorisation sudo à l'aide de la commande suivante:

usermod -aG sudo <your username>

Veuillez noter que vous devrez utiliser le compte root pour ce faire ou utiliser un autre compte disposant des autorisations sudo. Si, pour une raison quelconque, vous n'avez pas accès à un autre compte et que vous ne connaissez pas le mot de passe root, vous aurez besoin d'un live CD d'Ubuntu (ou d'une autre distribution Linux), puis vous devrez chrooter dans votre système de fichiers Ubuntu. lancez la commande ci-dessus depuis l'intérieur du chroot.

CodeExecution
la source
1

Voici comment installer un utilisateur non root avec l'image de base de ubuntu:18.04:

RUN \
    groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
    sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' && \
    echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
    echo "Customized the sudoers file for passwordless access to the foo user!" && \
    echo "foo user:";  su - foo -c id

Qu'est-ce qui se passe avec le code ci-dessus:

  • L'utilisateur et le groupe foosont créés.
  • L'utilisateur fooest ajouté à la fois au groupe fooet sudo.
  • Le uidet gidest réglé sur la valeur de 999.
  • Le répertoire de base est défini sur /home/foo.
  • Le shell est défini sur /bin/bash.
  • La sedcommande fait des mises à jour inline au /etc/sudoersfichier pour permettre fooet rootl'accès des utilisateurs au sudogroupe.
  • La sedcommande désactive la #includedirdirective qui autoriserait tous les fichiers des sous-répertoires à remplacer ces mises à jour intégrées.
Seth Bergman
la source