On peut interroger un compte avec la commande id
Cela indiquera si le user existe, donnera son id, son id de groupe et donnera les groupes dans lequel il est présent
id <loginachecker>
Lien vers le fichier : cliquez ici
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
Vous 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.
-U s'assure qu'un groupe au nom du user sera créé
-r de userdel demande de supprimer le homefolder associé au compte.
useradd -U -m <loginacreer>
userdel -r <loginasupprimer>
Lien vers le fichier : cliquez ici
Suivant les distribution, la suppression du groupe associé au compte n'est pas automatique. Pour assurer le coup vous pouvez utiliser la commande groupdel
groupdel [login]
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 -U -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
A noter que la politique de gestion des mots de passe est stockée dans
/etc/login.defs
et il se peut que le paramètre PASS_MIN_DAYS y soit à 7 par défaut.
Comme expliqué sur https://access.redhat.com/solutions/46446 cela veut dire qu'il faut attendre 7 jours pour pouvoir changer son mot de passe. Pour éviter cela il faut mettre le paramètre à 0
Vous pouvez modifier simplement ce paramètre (pour les futurs comptes) avec la commande sed
sudo sed -i 's/^PASS_MIN_DAYS.*/PASS_MIN_DAYS 0/' /etc/login.defs
Lien vers le fichier : cliquez ici
Pour les comptes qui ont été créés avant d'avoir modifié PASS_MIN_DAYS,
vous pouvez utiliser la commande chage
sudo chage -m 0 leusercible
Lien vers le fichier : cliquez ici
Pour être plus complet pour un compte de service vous pouvez retirer l'expiration du mot de passe, autoriser son changement plusieurs fois par jours ou encore permettre une inactivité prolongée
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
Pages Web
Site Web | Description |
---|---|
Doc.ubuntu-fr.org | Les commandes de base en console linux |
Commentcamarche.net | Gestion des utilisateurs sous Linux |
Wiki.linux-france.org | Voir le contenu d'un fichier avec la commande less |
Forum.ubuntu-fr.org | Post 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)
Article(s) en relation(s)
Retirer l'expiration du mot de passe d'un compte sous Linux
Changer d'utilisateur sous Linux
Mettre en place des droits avec la commande chmod sous Linux
Lister les sessions utilisateurs sous Linux
Donner les droits pour sudo à un utilisateur sous Linux
Créer un alias pour une commande sous Linux
Obtenir l'adresse Ip de sa machine sous Linux