Comment puis-je ajouter un utilisateur en tant que nouveau sudoer à l'aide de la ligne de commande?

Après avoir ajouté un utilisateur en utilisant adduser, Je ne le vois pas. >>Utilisateurs et Groupes de l'Administration Système sauf si je me déconnecte puis me reconnecte. Est-ce normal?

Puis-je également définir un utilisateur nouvellement ajouté comme un sudoeuh ou dois-je changer cela seulement après l'avoir ajouté? Comment puis-je le faire via le shell?

Enfin, puis-je supprimer l'utilisateur d'origine qui a été créé lors de l'installation initiale d'Ubuntu, ou cet utilisateur est-il en quelque sorte "spécial"?

Juste ajouter l'utilisateur à la liste sudo groupe:

sudo adduser <username> sudo

La modification prendra effet la prochaine fois que l'utilisateur se connectera.

Cela fonctionne parce que /etc/sudoers est préconfiguré pour accorder des autorisations à tous les membres de ce groupe (vous ne devriez pas avoir à y apporter de modifications):

# Allow members of group sudo to execute any command%sudo   ALL=(ALL:ALL) ALL

Tant que vous avez accès à un utilisateur qui fait partie des mêmes groupes que votre utilisateur "d'origine", vous pouvez supprimer l'ancien.


De manière réaliste, il existe également d'autres groupes dont votre nouvel utilisateur devrait être membre. Si vous définissez le type de compte d'un utilisateur sur Administrateur dans les Paramètres Utilisateurs, il sera placé dans au moins tous ces groupes:

adm sudo lpadmin sambashare

Étant donné que la configuration de votre système peut varier, je vous suggère de jeter un œil à la sortie de groups <username> pour voir quels groupes sont normalement utilisés.

Je l'ai fait

sudo usermod -a -G sudo <username>

comme recommandé ici.

Ouvrez le fichier sudoers: sudo visudo ouvrira le /etc/sudoers fichier dans l'éditeur défini dans $EDITOR (probablement GNU nano - définissez la variable si ce n'est pas ce que vous voulez, par exemple export EDITOR="nano" et essayez sudo visudo encore).

Ajoutez la ligne ci-dessous à la fin du fichier.

username ALL=(ALL) ALL   # Change the user name before you issue the commands

Ensuite, effectuez l'écriture avec Ctrl + O. L'éditeur vous demandera le nom du fichier dans lequel écrire. La valeur par défaut sera un fichier temporaire utilisé par visudo pour vérifier les erreurs de syntaxe avant de les enregistrer dans le fichier réel sudoers fichier. Appuyer Enter l'accepter. Quittez l'éditeur nano avec Ctrl + X.

Terminé!

Une chose que je dois ajouter que je suis sûr que beaucoup de gens ne comprennent pas:

Une fois que vous avez déjà fait un adduser "username", vous pouvez toujours revenir et faire un adduser "username" sudo, et il ajoutera ensuite cet utilisateur au groupe correctement.

En fait, cela ne fonctionnera pas la première fois comme sudo adduser username sudo. Cela vous donnera une erreur. Ce qui en résumé signifie que vous devez d'abord créer le compte utilisateur avant de pouvoir les ajouter à un groupe.

sur CentOS, je fais comme root

echo ' username ALL=(ALL)   ALL' >> /etc/sudoers

L'extrait suivant accorde un accès root au nom d'utilisateur sans se connecter explicitement en tant que root.

Assurez-vous que l'utilisateur est d'abord ajouté au groupe sudo. Testé sur Ubuntu 16.04.1 LTS.

sudo adduser username sudosudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"

Tous les membres du groupe admin, sont dans Ubuntu par défaut autorisés à utiliser sudo, donc le moyen le plus simple est d'ajouter le compte utilisateur au admin groupe.

Si vous ne voulez pas donner au compte d'utilisateur un accès root complet, vous devez éditer le fichier/etc / sudoer avec visudo (il s'assure que vous n'avez pas d'erreurs de syntaxe dans le fichier et que vous perdez complètement la capacité sudo) de manière à spécifier les commandes que cet utilisateur (ou un nouveau groupe) peut exécuter en tant que root.

Le manuel sudoer vous donnera plus d'informations à ce sujet. Vous pouvez spécifier quelles commandes sont autorisées par un utilisateur/groupe particulier à exécuter en tant que root.