Unix / Linux - Administration des utilisateurs

Dans ce chapitre, nous discuterons en détail de l'administration des utilisateurs sous Unix.

Il existe trois types de comptes sur un système Unix -

Compte racine

Ceci est également appelé superuseret aurait un contrôle complet et sans entrave du système. Un superutilisateur peut exécuter toutes les commandes sans aucune restriction. Cet utilisateur doit être considéré comme un administrateur système.

Comptes système

Les comptes système sont ceux nécessaires au fonctionnement des composants spécifiques au système, par exemple les comptes de messagerie et sshdcomptes. Ces comptes sont généralement nécessaires pour certaines fonctions spécifiques de votre système, et toute modification de ceux-ci pourrait avoir un effet négatif sur le système.

Comptes utilisateur

Les comptes d'utilisateurs fournissent un accès interactif au système pour les utilisateurs et les groupes d'utilisateurs. Les utilisateurs généraux sont généralement affectés à ces comptes et ont généralement un accès limité aux fichiers et répertoires système critiques.

Unix prend en charge un concept de compte de groupe qui regroupe logiquement un certain nombre de comptes. Chaque compte ferait partie d'un autre compte de groupe. Un groupe Unix joue un rôle important dans la gestion des autorisations de fichiers et la gestion des processus.

Gérer les utilisateurs et les groupes

Il existe quatre principaux fichiers d'administration des utilisateurs -

  • /etc/passwd- Conserve le compte d'utilisateur et les informations de mot de passe. Ce fichier contient la majorité des informations sur les comptes sur le système Unix.

  • /etc/shadow- Détient le mot de passe crypté du compte correspondant. Tous les systèmes ne prennent pas en charge ce fichier.

  • /etc/group - Ce fichier contient les informations de groupe pour chaque compte.

  • /etc/gshadow - Ce fichier contient des informations de compte de groupe sécurisé.

Vérifiez tous les fichiers ci-dessus en utilisant le cat commander.

Le tableau suivant répertorie les commandes disponibles sur la majorité des systèmes Unix pour créer et gérer des comptes et des groupes -

Sr.No. Commande et description
1

useradd

Ajoute des comptes au système

2

usermod

Modifie les attributs du compte

3

userdel

Supprime les comptes du système

4

groupadd

Ajoute des groupes au système

5

groupmod

Modifie les attributs du groupe

6

groupdel

Supprime les groupes du système

Vous pouvez utiliser l' aide de la page de manuel pour vérifier la syntaxe complète de chaque commande mentionnée ici.

Créer un groupe

Nous allons maintenant comprendre comment créer un groupe. Pour cela, nous devons créer des groupes avant de créer un compte, sinon nous pouvons utiliser les groupes existants dans notre système. Nous avons tous les groupes répertoriés dans/etc/groups fichier.

Tous les groupes par défaut sont des groupes spécifiques au compte système et il n'est pas recommandé de les utiliser pour les comptes ordinaires. Voici donc la syntaxe pour créer un nouveau compte de groupe -

groupadd [-g gid [-o]] [-r] [-f] groupname

Le tableau suivant répertorie les paramètres -

Sr.No. Option et description
1

-g GID

La valeur numérique de l'ID du groupe

2

-o

Cette option permet d'ajouter un groupe avec un GID non unique

3

-r

Ce drapeau indique groupadd pour ajouter un compte système

4

-f

Cette option provoque la sortie avec un statut de réussite, si le groupe spécifié existe déjà. Avec -g, si le GID spécifié existe déjà, un autre GID (unique) est choisi

5

groupname

Nom de groupe réel à créer

Si vous ne spécifiez aucun paramètre, le système utilise les valeurs par défaut.

L'exemple suivant crée un groupe de développeurs avec des valeurs par défaut, ce qui est tout à fait acceptable pour la plupart des administrateurs.

$ groupadd developers

Modifier un groupe

Pour modifier un groupe, utilisez le groupmod syntaxe -

$ groupmod -n new_modified_group_name old_group_name

Pour changer le nom du groupe développeurs_2 en développeur, saisissez -

$ groupmod -n developer developer_2

Voici comment vous allez changer le GID financier en 545 -

$ groupmod -g 545 developer

Supprimer un groupe

Nous allons maintenant comprendre comment supprimer un groupe. Pour supprimer un groupe existant, tout ce dont vous avez besoin est legroupdel command et le group name. Pour supprimer le groupe financier, la commande est -

$ groupdel developer

Cela supprime uniquement le groupe, pas les fichiers associés à ce groupe. Les fichiers sont toujours accessibles par leurs propriétaires.

Créer un compte

Voyons comment créer un nouveau compte sur votre système Unix. Voici la syntaxe pour créer un compte utilisateur -

useradd -d homedir -g groupname -m -s shell -u userid accountname

Le tableau suivant répertorie les paramètres -

Sr.No. Option et description
1

-d homedir

Spécifie le répertoire de base du compte

2

-g groupname

Spécifie un compte de groupe pour ce compte

3

-m

Crée le répertoire personnel s'il n'existe pas

4

-s shell

Spécifie le shell par défaut pour ce compte

5

-u userid

Vous pouvez spécifier un identifiant d'utilisateur pour ce compte

6

accountname

Nom de compte réel à créer

Si vous ne spécifiez aucun paramètre, le système utilise les valeurs par défaut. leuseradd la commande modifie le /etc/passwd, /etc/shadow, et /etc/group fichiers et crée un répertoire personnel.

Voici l'exemple qui crée un compte mcmohd, définissant son répertoire personnel sur /home/mcmohd et le groupe comme developers. Cet utilisateur se verrait assigner Korn Shell.

$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd

Avant d'émettre la commande ci-dessus, assurez-vous que le groupe de développeurs a déjà été créé à l'aide dugroupadd commander.

Une fois qu'un compte est créé, vous pouvez définir son mot de passe à l'aide du passwd commande comme suit -

$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Lorsque vous tapez passwd accountname, il vous donne la possibilité de changer le mot de passe, à condition que vous soyez un superutilisateur. Sinon, vous pouvez modifier uniquement votre mot de passe en utilisant la même commande, mais sans spécifier le nom de votre compte.

Modifier un compte

le usermodLa commande vous permet d'apporter des modifications à un compte existant à partir de la ligne de commande. Il utilise les mêmes arguments que leuseradd commande, plus l'argument -l, qui vous permet de changer le nom du compte.

Par exemple, pour changer le nom du compte mcmohd à mcmohd20 et pour changer de répertoire personnel en conséquence, vous devrez émettre la commande suivante -

$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20

Supprimer un compte

le userdelpeut être utilisée pour supprimer un utilisateur existant. Il s'agit d'une commande très dangereuse si elle n'est pas utilisée avec prudence.

Il n'y a qu'un seul argument ou option disponible pour la commande .r, pour supprimer le répertoire personnel et le fichier courrier du compte.

Par exemple, pour supprimer le compte mcmohd20 , exécutez la commande suivante -

$ userdel -r mcmohd20

Si vous souhaitez conserver le répertoire personnel à des fins de sauvegarde, omettez le -roption. Vous pouvez supprimer le répertoire de base si nécessaire ultérieurement.