TUTOS.EU

La gestion des comptes utilisateurs sous Linux

Gérer les comptes des utilisateurs d'un OS Linux

Vous pouvez voir le contenu du fichier passwd qui gère les comptes avec la commande getent qui gère les bibliothèques NSS dont passwd fait parti.

Sur le sujet vous pouvez regarder cette entrée de manpages ou cette entrée wiki

Vus pouvez voir uniquement les logins des comptes en tapant

grep bash /etc/passwd | cut -f1 -d:
Lien vers le fichier : cliquez ici

Dans l'exemple ci-dessous on voit 2 comptes, cad root et myuser :

On peut ajouter un compte avec la commande adduser et le supprimer avec userdel.
L'option -m permet de s'assurer que le /home sera créé dans tous les cas, mais vous pouvez vous en passer.
l'option -r de userdel demande de supprimer le homefolder associé au compte.

useradd -m <loginacreer>
userdel -r <loginasupprimer>
Lien vers le fichier : cliquez ici

useradd crée par défaut un répertoire pour le compte dans /home et assigne /bin/bash comme shell.

Si vous le souhaitez, vous pouvez préciser ces paramètres

useradd alfred -c "compte d Alfred" -d /home/alfred -m -s /bin/bash
Lien vers le fichier : cliquez ici

Du coup, pour créer un compte de service (en no logon) qui sera utilisé pour un programme, vous pouvez mettre /usr/sbin/nologin comme shell et ne pas assigner de home

useradd serviceaccount -c "Un compte de service" -m -s /usr/sbin/nologin
Lien vers le fichier : cliquez ici

Pour modifier le mot de passe d'un compte, en étant root, utilisez cette commande :

passwd nomdulogin
Lien vers le fichier : cliquez ici

Sous linux les comptes des utilisateurs sont situés dans ce fichier :

/etc/passwd
Lien vers le fichier : cliquez ici

Si on ouvre le fichier avec la commande
less /etc/passwd

on trouve un contenu brut de ce type :

Tous ne sont pas des comptes utilisateurs.
Il y a des comptes utilisés par des services comme www-data ou syslog.

Les comptes utilisateurs se terminent en /bin/bash

C'est pour cela que l'on peut afficher uniquement les comptes utilisateurs en filtrant sur le mot bash avec un Grep. Pour cela la commande est :

grep bash /etc/passwd
Lien vers le fichier : cliquez ici

Chaque champ est séparé par le caractère :
de ce fait si vous voulez uniquement afficher la valeur du premier champ vous pouvez en complément utiliser la commande cut
-f1 signifie que l'on ne veut que le premier champ
-d: permet de préciser que le sépareteur est :

grep bash /etc/passwd | cut -f1 -d:
Lien vers le fichier : cliquez ici

Cette commande assez longue à taper, aussi vous pouvez créer un alias avec la commande ci-dessous :

alias userlist='grep bash /etc/passwd | cut -f1 -d:'
Lien vers le fichier : cliquez ici

Après cela vous n'aurez plus qu'à taper le nom de l'alias, cad ici 'userlist', pour visualiser vos comptes utilisateurs

nom_du_compte mot_de_passe numero_utilisateur numero_de_groupe commentaire répertoire programme_de_demarrage
root x 0 0 root /root /bin/bash

Notes

_ le mot de passe est codé, il n'est pas affiché

_ le commentaire peut contenir ce que l'on veut avec des informations sur l'utilisateur par exemple

_ le répertoire de connexion est celui dans lequel l'utilisateur se retrouvera après s'être connecté

_ Pour la dernière partie, soit la commande exécutée après la connexion, par exemple /bin/bash, c'est souvent un interpréteur de commandes

Pour aller dans le home de votre compte, taper

cd ~
Lien vers le fichier : cliquez ici

Pour changer de compte, taper

su –l [other_user]
Lien vers le fichier : cliquez ici

Pages Web

Site WebDescription
Doc.ubuntu-fr.orgLes commandes de base en console linux
Commentcamarche.netGestion des utilisateurs sous Linux
Wiki.linux-france.orgVoir le contenu d'un fichier avec la commande less
Forum.ubuntu-fr.orgPost où la commande pour créer l'alias qui permet d'afficher les users était indiqué

Article(s) suivant(s)

Article(s) précédent(s)