Comment ajouter et supprimer des utilisateurs sur FreeBSD

introduction

Sous FreeBSD, à l’instar 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 utilisateur, lorsqu’ils sont gérés correctement, peuvent ajouter une couche de sécurité système en offrant un moyen de limiter l’accès de chaque utilisateur aux seuls fichiers et répertoires nécessaires à l’accomplissement de sa tâche.

Dans ce tutoriel, nous allons vous montrer comment effectuer les tâches de gestion des utilisateurs suivantes sur un serveur FreeBSD:

  • Ajouter un utilisateur

  • Octroyer des privilèges de superutilisateur

  • Supprimer un utilisateur

  • Verrouiller un compte d’utilisateur

  • Déverrouiller un compte d’utilisateur

Conditions préalables

Pour suivre ce tutoriel, vous devez avoir un accès * root * sur un serveur FreeBSD. En d’autres termes, vous devez pouvoir vous connecter au serveur en tant qu’utilisateur root ou autre utilisateur disposant des privilèges de superutilisateur via la commande + sudo +. Si vous prévoyez d’utiliser root, vous pouvez omettre la partie + sudo + des exemples de commandes.

Comment ajouter un utilisateur

Le moyen le plus simple d’ajouter un nouvel utilisateur consiste à utiliser l’utilitaire + adduser + fourni, basé sur la commande + pw +. La commande + adduser + ajoute un utilisateur au système en apportant les ajouts nécessaires aux fichiers + passwd +, + master.passwd +, et + group + `, et en créant le nouveau répertoire de base des utilisateurs. Il peut être exécuté de manière interactive, avec des invites pour collecter 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 verrons comment l’utiliser en mode interactif.

Pour ajouter un utilisateur avec + adduser en mode interactif, ce qui vous permet de créer un utilisateur à la fois, exécutez simplement la commande sans arguments comme ceci:

sudo adduser

À ce stade, vous devez fournir des informations sur le nouvel utilisateur en répondant à la série d’invites. Voyons maintenant un exemple des invites, avec les exemples de réponses indiqués en rouge:

Username:
Full name:
Uid (Leave empty for default):
Login group [sammy]:
Login group is sammy. Invite sammy into other groups? []:
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:
Enter password again:
Lock out the account after creation? [no]:

De nombreuses invites peuvent rester vides pour sélectionner les réponses par défaut (les crochets, + [yes] +, par exemple, désignent les valeurs par défaut), mais nous allons expliquer ici quelques invites importantes:

  • * Nom d’utilisateur *: Celui-ci est assez explicite. Indiquez le nom souhaité du nouvel utilisateur

  • * Le groupe de connexion est <utilisateur>. Inviter <utilisateur> dans d’autres groupes? *: Ce champ vous permettra d’ajouter l’utilisateur à d’autres groupes 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 + de FreeBSD. Les membres du groupe wheel + peuvent exécuter des commandes avec les privilèges de superutilisateur. Si vous voulez créer un utilisateur normal (non privilégié), 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 conservées par défaut. Bien sûr, si vous devez modifier d’autres détails, tels que le répertoire utilisateur ou utilisateur 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’affiche:

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):

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, l’invite suivante s’affichera:

Add another user? (yes/no):
Goodbye!

Si vous avez terminé, répondez par + no +. Sinon, répondez avec + 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-https: //www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-freebsd-server [check sortir ce tutoriel pour savoir comment].

Comment accorder des privilèges à Sudo

Sous FreeBSD, à l’instar des systèmes d’exploitation similaires à Unix, vous pouvez donner aux utilisateurs la possibilité d’exécuter des commandes avec les privilèges superuser 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 super-utilisateur consiste à ajouter l’utilisateur au groupe + wheel +. Pour ajouter un utilisateur au groupe + wheel +, utilisez cette commande + pw groupmod + (remplace le nom d’utilisateur en surbrillance):

sudo pw groupmod wheel -m

Cette commande ajoute l’utilisateur spécifié au groupe + wheel dans le fichier` + / etc / group`, et donne 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 argument, ou passer les utilisateurs que vous souhaitez supprimer en tant qu’arguments, et suivez les instructions pour terminer le processus de suppression:

sudo rmuser

Si vous ne fournissez pas un nom d’utilisateur en tant qu’argument, vous serez invité à en indiquer un ou plusieurs. Ensuite, vous serez invité à confirmer si vous êtes sûr et si le répertoire de base de l’utilisateur doit être supprimé:

Please enter one or more usernames:
Matching password entry:

sammy:*:1002:1002::0:0:Sammy Shark:/home/sammy:/bin/sh

Is this the entry you wish to remove?
Remove user's home directory (/home/sammy)?
Removing user (sammy): mailspool home passwd.

Comment verrouiller un compte d’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 de base, vous pouvez verrouiller le compte. Le moyen le plus simple de désactiver un utilisateur consiste à utiliser la commande + pw lock +, avec l’utilisateur que vous souhaitez désactiver en tant qu’argument, comme suit:

sudo pw lock

Cette commande commence par ajouter «* LOCKED *» à l’entrée de l’utilisateur dans le fichier + / etc / master.passwd +.

L’utilisateur ne pourra pas se connecter avant que le compte ne soit déverrouillé.

Comment débloquer un utilisateur

Si vous voulez activer un utilisateur qui a été désactivé avec + pw lock +, vous pouvez utiliser la commande + pw unlock + pour le faire:

sudo pw unlock

Cette commande supprime «* LOCKED *», le cas échéant, 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 de base des utilisateurs sur un serveur FreeBSD.