1009 votes

Existe-t-il une commande permettant de lister tous les utilisateurs ? Et aussi pour ajouter, supprimer, modifier les utilisateurs, dans le terminal ?

J'ai besoin d'une commande pour lister tous les utilisateurs ainsi que des commandes pour ajouter, supprimer et modifier les utilisateurs à partir du terminal - toute commande qui pourrait aider à administrer les comptes utilisateurs facilement par le terminal.

19voto

liste de tous les utilisateurs qui peuvent se connecter (pas d'utilisateurs système comme : bin,deamon,mail,sys, etc.)

awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow

ajouter nouvel utilisateur

sudo adduser new_username

ou

sudo useradd new_username

supprimer /remove username

sudo userdel username

Si vous voulez supprimer le répertoire d'accueil (par défaut le répertoire /home/username)

sudo deluser --remove-home username

ou

sudo rm -r /path/to/user_home_dir

Si vous voulez supprimer tous les fichiers du système de cet utilisateur (pas seulement le répertoire d'accueil)

sudo deluser --remove-all-files

8voto

Yuji Points 26887

Ok, voici une astuce qui va vous aider à résoudre ce problème. Le terminal dispose d'un système de complétion automatique. Si vous tapez user et appuyez deux fois sur la touche Tab, il vous donnera la liste de toutes les commandes qui existent avec user comme premiers 4 caractères.

user (tab tab)

me donne comme options possibles useradd userdel usermod users users-admin
si vous voulez en savoir plus sur une commande, googlez-la ou tapez man man useradd donne useradd - créer un nouvel utilisateur ou mettre à jour les informations d'un nouvel utilisateur par défaut ... ...

pour lister les utilisateurs, vous devriez suivre ce que Mitch a dit.

J'espère que cela vous aidera. J'adore la complétion de tabulation dans bash, cela m'évite de me souvenir de certaines choses.

7voto

anvesh Points 1

Pour connaître les utilisateurs qui ont des répertoires personnels dans le dossier /home de la machine, exécutez les commandes suivantes

cd /home
ls 

Vous pouvez alors voir les utilisateurs qui ont l'autorisation de se connecter au serveur. Si nous voulons consulter les fichiers de n'importe quel utilisateur, vous devez être l'utilisateur root.

1voto

WinEunuuchs2Unix Points 91128

La première réponse recommande :

cut -d: -f1 /etc/passwd

Mais en utilisant ceci et en comptant le nombre d'utilisateurs que vous obtenez :

$ cut -d: -f1 /etc/passwd | wc -l
46

46 utilisateurs pour un ordinateur portable, c'est beaucoup ! Utilisez donc ceci à la place :

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1
root
rick
guest-atkb2q
guest-u4sf2i
guest-rmlbtg
guest-mz53vp

Pour supprimer les comptes invités (qui n'ont pas de fichiers sauvegardés de toute façon), utilisez :

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1
root
rick

Quelques exemples d'utilisateurs retirés de la liste sont :

systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
sync:x:4:65534:sync:/bin:/bin/sync
guest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash

Il s'avère que la plupart des utilisateurs d'un système à utilisateur unique sont en fait des programmes qui se sont configurés comme utilisateurs.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X