J'ai activé l'utilisateur root dans Ubuntu et souhaite utiliser Ubuntu en tant que serveur sans DE. Pour cela, je souhaite désactiver le privilège Sudo accordé au premier utilisateur. Comment puis-je faire cela en ligne de commande? Je sais que je peux utiliser une interface graphique, mais comment le faire en ligne de commande?
L'utilisateur en question dispose des privilèges Sudo car il appartient au groupe admin
name__. Comme l'a commenté wojox, vous pouvez utiliser visudo
et supprimer les privilèges Sudo du groupe d'administration, mais cela supprime les capacités de Sudo des membres tous du groupe d'administration, et pas uniquement de l'utilisateur.
Vous pouvez également supprimer l'utilisateur du groupe d'administrateurs. Si vi
orienté écran est considéré comme suffisant pour la ligne de commande, exécutez vigr
et supprimez le nom d'utilisateur de la ligne appropriée.
Pour une solution "pure" en ligne de commande, essayez gpasswd
name__, car il administre/etc/group et permet d'ajouter et de supprimer des utilisateurs des groupes.
root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare
# ^- the group to remove
root@toki:~# gpasswd -d username admin
Removing user username from group admin
root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin sambashare
# ^- username not a member
root@toki:~# gpasswd -a username admin
Adding user username to group admin
root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare
Ci-dessous ma première réponse avant que je réalise qu'il y avait un moyen moins bête de le faire.
Si vous souhaitez une méthode plus compliquée, vous pouvez utiliser usermod
name__.
Voici une citation de la page de manuel usermod
name__:
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
A list of supplementary groups which the user is also a member of.
Each group is separated from the next by a comma, with no intervening
whitespace. The groups are subject to the same restrictions as the
group given with the -g option.
If the user is currently a member of a group which is not listed, the
user will be removed from the group. This behaviour can be changed via
the -a option, which appends the user to the current supplementary group
list.
Vous devez donc spécifier tous les groupes pour l'utilisateur, à l'exception de admin
name__.
root@toki:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),119(admin),122(sambashare)
root@toki:~# usermod -G 4,20,24,46,111,122 username
root@toki:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),122(sambashare)
Enfin, cela enfreint l'esprit de la question, mais vous pouvez taper users-admin
à partir de la ligne de commande pour modifier les utilisateurs et les groupes.
Quelle que soit la sagesse trouvée dans les réponses ci-dessus, j'ai résolu le problème de l'activation du compte root et de la désactivation de Sudo pour un utilisateur spécifié, comme suit.
Commencez par activer le compte root:
$ Sudo passwd root
Plus d'informations dans le Documentation Ubunt .
Ensuite:
C'est:
$ su
# cp /etc/group /etc/group.bak
# nano /etc/group # find a line like 'Sudo:x:27:guest', remove the
# user name (i.c. 'guest') and save the file
# exit,
$ [try any Sudo command]
L'utilisateur 'guest' est maintenant supprimé du fichier sudoers. Si tout se passe bien, toute commande Sudo devrait renvoyer un message comme celui-ci:
guest is not in the sudoers file. This incident will be reported.
Un invité qui se connecte à cet ordinateur ne peut plus accidentellement ni volontairement perturber le système, car vous devez être root pour le faire. Bien sûr, si vous ajoutez un nouvel utilisateur, vous devrez répéter l’édition de/etc/group.
À votre santé!
- linuxrev
(Ubuntu 12.04)
Attention, vous pouvez vous verrouiller hors de notre système de cette façon! Assurez-vous toujours que l'utilisateur root conserve ses droits et vous pourrez y accéder. Laissez au préalable un terminal root ouvert pour pouvoir annuler les modifications. Testez les paramètres dans un autre terminal avant de fermer votre terminal root!
Comme décrit dans autre réponse . Editez /etc/sudoers
en appelant visudo dans Shell:
Sudo select-editor # this is optional. it will allow you to select your default editor in Shell
Sudo visudo
Puis changez la ligne qui dit quelque chose de similaire à ceci:
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
pour ça:
# root may gain root privileges
root ALL=(ALL) ALL
Ou supprimez la ligne, si vous êtes sûr, votre compte utilisateur root est activé.
L'utilisateur par défaut est membre du groupe 'admin'. Si vous le préférez, vous pourriez tout aussi bien révoquer l'adhésion des utilisateurs à ce groupe. Pour ce faire, suivez mon dernier lien ou supprimez son nom de la ligne admin:x:120:defaultuser
dans le fichier /etc/group
:
cp -n /etc/group /etc/group.bak && \
sed -i 's/\(admin:x.*\)defaultuser\(.*\)/\1\2/g' /etc/group