Comment ajouter et supprimer des utilisateurs sur FreeBSD
Introduction
Sur FreeBSD, comme d'autres systèmes d'exploitation de type Unix, des comptes d'utilisateurs peuvent être créés pour fournir un accès interactif au système. Les comptes d'utilisateurs, lorsqu'ils sont gérés correctement, peuvent ajouter une couche de sécurité au système en fournissant un moyen de limiter l'accès d'un utilisateur individuel aux seuls fichiers et répertoires dont il a besoin pour accomplir ses tâches.
Dans ce tutoriel, nous allons vous montrer comment effectuer les tâches de gestion des utilisateurs suivantes sur un serveur FreeBSD :
- Ajouter un utilisateur
- Accorder des privilèges de superutilisateur
- Supprimer un utilisateur
- Verrouiller un compte utilisateur
- Déverrouiller un compte utilisateur
Conditions préalables
Pour suivre ce tutoriel, vous devez avoir un accès root à un serveur FreeBSD. C'est-à-dire que vous devez pouvoir vous connecter au serveur en tant que root ou un autre utilisateur disposant de privilèges de superutilisateur via la commande sudo
. Si vous envisagez d'utiliser root, vous pouvez omettre la partie sudo
des exemples de commandes.
Comment ajouter un utilisateur
La façon la plus simple d'ajouter un nouvel utilisateur est d'utiliser l'utilitaire adduser
fourni, qui est basé sur la commande pw
. La commande adduser
ajoute un utilisateur au système en effectuant les ajouts nécessaires aux fichiers passwd
, master.passwd
et group
et en créant le nouveau répertoire d'accueil des utilisateurs. . Il peut être exécuté de manière interactive, avec des invites pour recueillir des informations sur le nouvel utilisateur, ou de manière non interactive, ce qui est préférable pour ajouter des lots d'utilisateurs. Nous couvrirons son utilisation en mode interactif.
Pour ajouter un utilisateur avec adduser
en mode interactif, qui vous permet de créer un utilisateur à la fois, exécutez simplement la commande sans arguments comme celle-ci :
sudo adduser
À ce stade, vous devez fournir des informations sur le nouvel utilisateur en répondant à la série d'invites. Examinons maintenant un exemple d'invites, avec des exemples de réponses affichés en rouge :
Username: sammy Full name: Sammy Shark Uid (Leave empty for default): Login group [sammy]: Login group is sammy. Invite sammy into other groups? []: wheel Login class [default]: Shell (sh csh tcsh nologin) [sh]: Home directory [/home/sammy]: Home directory permissions (Leave empty for default): Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: password Enter password again: password Lock out the account after creation? [no]:
De nombreuses invites peuvent être laissées vides pour sélectionner les réponses par défaut - les crochets, [yes]
par exemple, indiquent les valeurs par défaut - mais il y a quelques invites importantes que nous expliquerons ici :
- Nom d'utilisateur : celui-ci est assez explicite. Indiquez le nom souhaité du nouvel utilisateur
- Le groupe de connexion est . Inviter dans d'autres groupes ? : Ce champ vous permettra d'ajouter l'utilisateur à des groupes supplémentaires, en fournissant les groupes souhaités dans une liste délimitée par des espaces. L'utilisation la plus courante consiste à accorder des privilèges de superutilisateur (sudo) au nouvel utilisateur en l'ajoutant au groupe
wheel
— sur FreeBSD, les membres du groupewheel
peuvent exécuter des commandes avec des privilèges de superutilisateur . Si vous souhaitez créer un utilisateur normal (sans privilège), vous pouvez laisser ce champ vide
Toutes les autres invites jusqu'à présent sont assez explicites et, à part les invites de mot de passe, peuvent être laissées par défaut. Bien sûr, si vous avez besoin de modifier d'autres détails, tels que l'UID ou le répertoire personnel de l'utilisateur, n'hésitez pas à fournir une réponse autre que celle par défaut. Si vous recherchez une description détaillée de l'une des invites, exécutez man adduser
pour plus d'informations.
Après avoir répondu aux invites, un résumé du nouvel utilisateur s'affichera :
Username : sammy Password : ***** Full Name : Sammy Shark Uid : 1002 Class : Groups : sammy wheel Home : /home/sammy Home Mode : Shell : /bin/sh Locked : no OK? (yes/no): yes
Après avoir examiné les informations de l'utilisateur, répondez à l'invite OK ? avec yes
ou no
. Votre réponse détermine si l'utilisateur est créé.
Si vous répondez yes
, l'utilisateur sera créé et une confirmation sera fournie :
adduser: INFO: Successfully added (sammy) to the user database.
Que vous créiez l'utilisateur ou non, vous verrez l'invite suivante :
Add another user? (yes/no): no Goodbye!
Si vous avez terminé, répondez par no
. Sinon, répondez par yes
et répétez le processus pour créer un nouvel utilisateur supplémentaire.
À ce stade, le ou les utilisateurs que vous avez créés peuvent être utilisés. Vous voudrez peut-être configurer l'authentification par clé SSH pour une sécurité accrue—consultez ce didacticiel pour savoir comment.
Comment accorder des privilèges Sudo
Sur FreeBSD, comme d'autres systèmes d'exploitation de type Unix, vous pouvez accorder aux utilisateurs la possibilité d'exécuter des commandes avec les privilèges superutilisateur via la commande sudo
. La commande sudo
permet à un utilisateur d'exécuter une commande en tant qu'un autre utilisateur. Nous allons vous montrer comment accorder à un utilisateur normal des privilèges de superutilisateur, lui permettant ainsi d'exécuter des commandes en tant que root
.
Sur FreeBSD, les utilisateurs membres du groupe wheel
sont autorisés à utiliser sudo
. Cela est dû à la ligne suivante dans le fichier sudoers par défaut, /usr/local/etc/sudoers
:
%wheel ALL=(ALL) NOPASSWD: ALL
Par conséquent, une façon d'accorder à un utilisateur normal des privilèges de superutilisateur consiste à ajouter l'utilisateur au groupe wheel
. Pour ajouter un utilisateur au groupe wheel
, utilisez cette commande pw groupmod
(remplacez le nom d'utilisateur en surbrillance) :
sudo pw groupmod wheel -m sammy
Cette commande ajoute l'utilisateur spécifié au groupe wheel
dans le fichier /etc/group
, et accorde ainsi à l'utilisateur la possibilité d'exécuter des commandes en tant que superutilisateur.
Comment supprimer un utilisateur
Un moyen simple de supprimer un utilisateur de votre système FreeBSD consiste à utiliser la commande rmuser
. Vous pouvez l'exécuter sans arguments ou transmettre les utilisateurs que vous souhaitez supprimer en tant qu'arguments, puis suivre les invites pour terminer le processus de suppression d'utilisateur :
sudo rmuser
Si vous ne fournissez pas de nom d'utilisateur comme argument, vous serez invité à en saisir un ou plusieurs. Ensuite, il vous sera demandé de confirmer si vous êtes sûr et si le répertoire personnel de l'utilisateur doit être supprimé :
Please enter one or more usernames: sammy Matching password entry: sammy:*:1002:1002::0:0:Sammy Shark:/home/sammy:/bin/sh Is this the entry you wish to remove? y Remove user's home directory (/home/sammy)? y Removing user (sammy): mailspool home passwd.
Comment verrouiller un compte utilisateur
Si vous souhaitez désactiver l'accès d'un utilisateur au système sans supprimer ses enregistrements de compte et son répertoire personnel, vous pouvez verrouiller le compte. Le moyen le plus simple de désactiver un utilisateur est d'utiliser la commande pw lock
, avec l'utilisateur que vous souhaitez désactiver comme argument, comme ceci :
sudo pw lock username
Cette commande fonctionne en ajoutant "*LOCKED*" à l'entrée de l'utilisateur dans le fichier /etc/master.passwd
.
L'utilisateur ne pourra pas se connecter tant que le compte n'est pas déverrouillé.
Comment débloquer un utilisateur
Si vous souhaitez activer un utilisateur qui a été désactivé avec pw lock
, vous pouvez utiliser la commande pw unlock
pour le faire :
sudo pw unlock username
Cette commande fonctionne en supprimant "*LOCKED*", s'il est présent, de l'entrée de l'utilisateur dans le fichier /etc/master.passwd
.
Conclusion
Vous devriez maintenant avoir une bonne compréhension de la gestion des utilisateurs de base sur un serveur FreeBSD.