Étant nouveau dans l'administration Linux, je suis un peu confus au sujet des commandes suivantes:
useradd
usermod
groupadd
groupmod
Je viens de terminer la lecture du livre d'administration des utilisateurs dans le manuel de l'administrateur Linux/Unix, mais certaines choses sont encore un peu floues.
Fondamentalement, useradd
semble assez simple:
useradd -c "David Hilbert" -d /home/math/hilbert -g faculty -G famous -m -s /bin/sh hilbert
Je peux ajouter "David Hilbert" avec le nom d'utilisateur hilbert
, en définissant son répertoire par défaut, Shell et ses groupes. Et je pense que -g
est son groupe principal/par défaut et -G
sont ses autres groupes.
Voici donc mes prochaines questions:
faculty
et famous
n'existaient pas? Serait-ce juste les créer?hilbert
et qu'il n'y a pas d'autres utilisateurs dans ces groupes, existeront-ils toujours? Dois-je les supprimer?useradd
ci-dessus, comment supprimer David du groupe famous
et réaffecter son groupe principal à hilbert
qui n'existe pas encore?La commande usermod
vous permettra de modifier le groupe principal, le groupe supplémentaire ou un certain nombre d'autres attributs d'un utilisateur. Le -g
switch contrôle le groupe principal.
Pour vos autres questions ...
Si vous spécifiez un groupe, groupname
, qui n'existe pas au cours de l'étape useradd
, vous recevrez une erreur - seradd: groupe inconnu nom de groupe
La commande groupadd
crée de nouveaux groupes.
Le groupe restera si vous supprimez tous les utilisateurs qu'il contient. Vous n'avez pas nécessairement à supprimer le groupe vide.
Créez le groupe hilbert
via groupadd hilbert
. Déplacez ensuite le groupe principal de David en utilisant usermod -g hilbert hilbert
. (Veuillez noter que le premier hilbert
est le nom du groupe et le second hilbert
est le nom d'utilisateur. Ceci est important dans les cas où vous déplacez un utilisateur vers un groupe avec un nom différent)
Vous compliquez peut-être un peu les choses ici, cependant. Dans de nombreuses distributions Linux, un simple useradd hilbert
créera l'utilisateur hilbert
et un groupe du même nom que le principal. J'ajouterais des groupes supplémentaires spécifiés ensemble en utilisant le -G
commutateur.
Vous devez lire le man usermod
qui explique ce qui se passe avec les différentes options:
usermod -g hilder hilder
remplacera votre groupe de connexion de "faculté" à "hilder", tant que le groupe "hilder" existe. S'il n'existe pas, vous devez d'abord le créer avec groupadd.
Lorsque vous utilisez le -G
option, vous devez également utiliser le -a
option pour ajouter de nouveaux groupes à la liste actuelle des groupes supplémentaires auxquels appartient l'utilisateur 'hilder'. Sans le -a
option, vous remplacerez les groupes supplémentaires actuels par un nouveau groupe de groupes. Par conséquent, utilisez-le avec prudence.
Pour modifier le groupe principal d'un utilisateur sous Linux:
usermod -g new_group user_name
Pour tester vos modifications, exécutez id
et examinez la valeur de gid=
Si la commande s'exécute sans erreur mais que le gid n'a pas changé, vous avez manqué la partie en gras de l'étape 2.
la réponse n ° 1 est bonne, vous pouvez toujours choisir d'émettre ce qui suit pour ajouter un nouveau groupe:
# nano /etc/group
L'inconvénient de l'édition /etc/group
est directement que vous devrez trouver un GID inutilisé (numéro d'identification de groupe).
Les éléments suivants vous permettront de modifier le groupe principal d'un utilisateur. # nano /etc/passwd
Vous recherchez la ligne de l'utilisateur et modifiez le GID (numéro de groupe, recherchez-le dans /etc/group
), gardez à l'esprit que la syntaxe est la suivante:
<name>:*:<UID>:<GID>:<comment>:<directory>:<Shell>
Il n'y a aucun inconvénient auquel je peux penser à cette approche (à condition que vous connaissiez le GID), c'est ce que j'utilise fréquemment pour les utilisateurs locaux, principalement parce que j'utilise de nombreux systèmes UNIX différents avec des usermod
, adduser
et useradd
options de commande.
C'est un peu plus manuel, mais fait le boulot. Notez que vous pouvez utiliser vi
iso nano
pour modifier les fichiers, si vous connaissez vi
.
Pour modifier définitivement le groupe principal de l'utilisateur, exécutez:
Ou vous pouvez utiliser newgrp
pour un petit environnement et une situation temporaire.
Créez un nouvel utilisateur bob et un nouveau groupe dodo
.
useradd bob
Donc, dans RedHat/Centos, nous avons UID = (ID_number) bob; GID = (ID_number) bob comme groupe principal par défaut
groupadd dodo
Ajoutez l'utilisateur bob au groupe dodo
:
usermod -aG dodo bob -make sure to use "a"
Ensuite, utilisez newgrp
pour changer de propriétaire:
newgrp dodo
Attention à votre compte pour avoir un mot de passe et pour être membre du futur groupe primaire. Et le newgrp ouvre un nouveau Shell; tant que l'utilisateur reste dans ce shell, le groupe principal ne change pas. Pour ramener le groupe principal à l'original, vous pouvez quitter le nouveau shell en exécutant la commande exit.