Une commande pour lister tous les utilisateurs? Et comment ajouter, supprimer, modifier les utilisateurs?

680

J'ai besoin d'une commande pour répertorier tous les utilisateurs du terminal. Et comment ajouter, supprimer, modifier des utilisateurs depuis un terminal.

Cela pourrait vous aider à gérer vos comptes facilement par terminal.

    
posée nux 02.07.2014 - 20:10
la source

8 réponses

914

Pour répertorier tous les utilisateurs locaux que vous pouvez utiliser:

cut -d: -f1 /etc/passwd

Pour répertorier tous les utilisateurs capables de s’authentifier (d’une manière ou d’une autre), y compris les utilisateurs non locaux, consultez cette réponse: lien

Quelques commandes de gestion d’utilisateur plus utiles (également limitées aux utilisateurs de locales ):

Pour ajouter un nouvel utilisateur, vous pouvez utiliser:

sudo adduser new_username

ou:

sudo useradd new_username

Voir aussi: Quelle est la différence entre adduser et useradd?

Pour supprimer / supprimer un utilisateur, vous pouvez d’abord utiliser:

sudo userdel username

Ensuite, vous souhaiterez peut-être supprimer le répertoire personnel du compte d'utilisateur supprimé:

sudo rm -r /home/username

(Veuillez utiliser avec précaution la commande ci-dessus!)

Pour modifier le nom d'utilisateur d'un utilisateur:

usermod -l new_username old_username

Pour changer le mot de passe d’un utilisateur:

sudo passwd username

Pour changer le shell d'un utilisateur:

sudo chsh username

Pour modifier les détails d’un utilisateur (par exemple, son vrai nom):

sudo chfn username

Et bien sûr, voir aussi: man adduser , man useradd , man userdel ... et ainsi de suite.

    
réponse donnée Radu Rădeanu 24.01.2014 - 21:23
la source
72

Appuyez simplement sur Ctrl + Alt + T sur votre clavier pour ouvrir le terminal. Lorsqu'il s'ouvre, exécutez la ou les commandes ci-dessous:

cat /etc/passwd

OU

less /etc/passwd
more /etc/passwd

Vous pouvez également utiliser awk: awk

awk -F':' '{ print }' /etc/passwd
    
réponse donnée Mitch 24.01.2014 - 20:28
la source
50

La méthode la plus simple pour obtenir ce type d’information est getent - voir page de manuel pour la commande getent . Bien que cette commande donne le même résultat que cat /etc/passwd , il est utile de s'en souvenir car cela vous donnera des listes de plusieurs éléments du système d'exploitation.

Pour obtenir une liste de tous les utilisateurs que vous tapez (car les utilisateurs sont répertoriés dans /etc/passwd )

getent passwd

Pour ajouter un utilisateur newuser au système que vous tapez

sudo adduser newuser

pour créer un utilisateur dont tous les paramètres par défaut sont appliqués.

Bonus: Pour ajouter un utilisateur (par exemple, anyuser ) à un groupe (par exemple, cdrom ), tapez

sudo adduser anyuser cdrom

Vous supprimez un utilisateur (par exemple obsolète ) avec

sudo deluser obsolete

Si vous souhaitez supprimer son répertoire personnel / mails, vous tapez également

sudo deluser --remove-home obsolete

Et

sudo deluser --remove-all-files obsolete

supprimera l'utilisateur et de tous les fichiers appartenant à cet utilisateur sur l'ensemble du système.

    
réponse donnée guntbert 02.02.2014 - 19:50
la source
18

Vous pouvez également utiliser compgen intégré:

compgen -u

Will liste tous les utilisateurs.

    
réponse donnée Ravexina 14.06.2017 - 14:51
la source
17

Cela devrait avoir dans la plupart des situations normales , tous les utilisateurs normaux (non-système, pas bizarres, etc.):

awk -F'[/:]' '{if ( >= 1000 &&  != 65534) print }' /etc/passwd

Cela fonctionne par:

  • lecture de /etc/passwd
  • utiliser : comme délimiteur
  • si le troisième champ (le numéro d’ID utilisateur) est supérieur à 1000 et non 65534, le premier champ (le nom d’utilisateur de l’utilisateur) est imprimé.

C'est parce que sur de nombreux systèmes Linux, les noms d'utilisateur supérieurs à 1000 sont réservés aux utilisateurs non privilégiés (vous pourriez dire normaux). Des informations sur cet ici :

  

Un ID utilisateur (UID) est un entier positif unique attribué par un Unix-like   système d'exploitation à chaque utilisateur. Chaque utilisateur est identifié au système   par son UID, et les noms d'utilisateur sont généralement utilisés uniquement comme une interface pour   les humains.

     

Les UID sont stockés avec leurs noms d’utilisateur et autres   informations spécifiques à l'utilisateur, dans le fichier / etc / passwd ...

     

Le troisième champ contient l'UID et le quatrième champ contient le   identifiant de groupe (GID), qui par défaut est égal à l’ID utilisateur pour tous   utilisateurs.

     

Dans les noyaux Linux 2.4 et supérieurs, les UID sont des entiers non signés de 32 bits   cela peut représenter des valeurs de zéro à 4294,967,296. Cependant, il est   conseille d’utiliser des valeurs jusqu’à 65 534 pour maintenir   compatibilité avec les systèmes utilisant des noyaux ou des systèmes de fichiers plus anciens pouvant   n'accepte que les UID 16 bits.

     

L’UID de 0 a un rôle spécial: c’est toujours le compte root (c’est-à-dire,   l'utilisateur administratif omnipotent). Bien que le nom d'utilisateur puisse être   modifié sur ce compte et des comptes supplémentaires peuvent être créés avec   le même UID, aucune action n’est judicieuse du point de vue de la sécurité.

     

L’UID 65534 est généralement réservé à personne, utilisateur sans système   privilèges, par opposition à un utilisateur ordinaire (c'est-à-dire non privilégié).   Cet UID est souvent utilisé pour les personnes accédant au système à distance   via FTP (protocole de transfert de fichiers) ou HTTP (transfert hypertexte   protocole).

     

Les UID 1 à 99 sont traditionnellement réservés aux utilisateurs de systèmes spéciaux   (parfois appelés pseudo-utilisateurs), tels que wheel, daemon, lp, operator,   nouvelles, courrier, etc. Ces utilisateurs sont des administrateurs qui n’ont pas besoin de   pouvoirs racine, mais qui effectuent des tâches administratives et ont donc besoin   plus de privilèges que ceux donnés aux utilisateurs ordinaires.

     

Certaines distributions Linux (c'est-à-dire les versions) commencent les UID pour   utilisateurs non privilégiés à 100. D'autres, tels que Red Hat, commencent à   500, et d’autres encore, comme Debian, commencent à 1000. A cause de la   différences entre les distributions, une intervention manuelle peut être nécessaire   si plusieurs distributions sont utilisées dans un réseau dans une organisation.

     

En outre, il peut être pratique de réserver un bloc d’UID à des utilisateurs locaux,   tels que 1000 à 9999, et un autre bloc pour les utilisateurs distants (à savoir,   utilisateurs ailleurs sur le réseau), tels que 10000 à 65534. L’important   Il s’agit de décider d’un plan et d’y adhérer.

     

Parmi les avantages de cette pratique de réserver des blocs de numéros   pour des types particuliers d’utilisateurs, c’est qu’il est plus pratique de   rechercher dans les journaux système toute activité utilisateur suspecte.

     

Contrairement à la croyance populaire, il n'est pas nécessaire que chaque entrée dans le   Le champ UID doit être unique. Cependant, les UID non uniques peuvent causer des problèmes de sécurité   problèmes, et donc les UID doivent rester uniques dans l'ensemble   organisation. De même, le recyclage des UID d’anciens utilisateurs devrait être   évité le plus longtemps possible.

    
réponse donnée Wilf 08.06.2015 - 22:09
la source
13

liste de tous les utilisateurs pouvant se connecter (aucun utilisateur du système tel que: bin, deamon, mail, sys, etc.)

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

ajouter nouvel utilisateur

sudo adduser new_username

ou

sudo useradd new_username

supprimer / supprimer le nom d'utilisateur

sudo userdel username

Si vous souhaitez supprimer le répertoire de base (par défaut le répertoire / home / nom d'utilisateur)

sudo deluser --remove-home username

ou

sudo rm -r /path/to/user_home_dir

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

sudo deluser --remove-all-files
    
réponse donnée Donovan Vesters 25.09.2014 - 17:47
la source
7

Ok, voici un truc qui vous aidera à régler ce problème. Le terminal est auto-complétant si vous tapez utilisateur et appuyez deux fois sur la touche Tab pour lister toutes les commandes qui existent avec l'utilisateur en tant que 4 premiers caractères.

user (tab tab)

me donne les options possibles     useradd userdel utilisateurs usermod utilisateurs-admin
si vous voulez en savoir plus sur une commande google ou tapez man     man useradd donne     useradd - crée un nouvel utilisateur ou met à jour les nouvelles informations utilisateur par défaut     ...     ...

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

J'espère que ça m'aide à terminer les tabulations en bash, cela me sauve de me souvenir de choses.

    
réponse donnée user239243 24.01.2014 - 20:38
la source
4

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

cd /home
ls 

Vous pouvez alors voir les utilisateurs autorisés à se connecter au serveur. Si nous voulons examiner les fichiers des utilisateurs, vous devez être l'utilisateur root.

    
réponse donnée anvesh 24.07.2016 - 16:45
la source

Lire d'autres questions sur les étiquettes