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


J'ai besoin d'une commande pour lister tous les utilisateurs du terminal. Et comment ajouter, supprimer, modifier les utilisateurs du terminal.

Cela pourrait aider à administrer vos comptes facilement par terminal.


699
2018-01-24 20:23


origine


réponse sed sed 's/:.*//' /etc/passwd - Avinash Raj
liste des utilisateurs: awk -F: '{ print $1 }' /etc/passwd - saviour123


Réponses:


Pour lister tout local les utilisateurs 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: https://askubuntu.com/a/414561/571941

Quelques commandes de gestion utilisateur plus utiles (également limitées à local utilisateurs):

Pour ajouter un nouvel utilisateur, vous pouvez utiliser:

sudo adduser nouveau nom d'utilisateur

ou:

sudo useradd nouveau nom d'utilisateur

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

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

sudo userdel Nom d'utilisateur

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

sudo rm -r / home /Nom d'utilisateur

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

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

usermod -l nouveau nom d'utilisateur Ancien nom d'utilisateur

Pour changer le mot de passe d'un utilisateur:

sudo passwd Nom d'utilisateur

Pour changer le shell pour un utilisateur:

sudo chsh Nom d'utilisateur

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

sudo chfn Nom d'utilisateur

Et bien sûr, voir aussi: man adduser, man useradd, man userdel... etc.


937
2018-01-24 19:28



Radu a oublié de mentionner sudo chfn <username> qui modifie les détails de l'utilisateur (par exemple le vrai nom). J'ai essayé d'ajouter ceci comme commentaire, mais j'ai eu une erreur en me disant que je devais avoir une réputation de +50 pour le faire. - Mikaela
Je pense qu'il faut souligner que la bonne réponse à la question liée est askubuntu.com/a/381646/16395 --- sinon vous devez prendre en compte les politiques GID / UID Ubuntu manuellement. La réponse acceptée n'est pas si claire. - Rmano
sudo userdel DOMAIN \\ johndoe me donne l'erreur: "userdel: impossible de supprimer l'entrée 'DOMAIN \ johndoe' de / etc / passwd - J'ai cherché dans / etc / passwd et ils n'y sont même pas, probablement parce que c'est un" domaine "compte? - 00fruX
@ 00fruX Ouais ... Si vous utilisez une base de données d'utilisateurs centralisée, vous devrez vous en occuper directement. - Oli♦
+1 pour Quelle est la différence entre adduser et useradd? - sonlexqt


Appuyez simplement sur Ctrl+Alt+T sur votre clavier pour ouvrir le terminal. Lorsqu'il s'ouvre, lancez 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 $1}' /etc/passwd

73
2018-01-24 19:38



comment ajouter des utilisateurs par commande? - nux
Vous pouvez utiliser useradd commander. - Mitch♦
@nux Un peu tard pour la fête, mais à partir de la ligne de commande adduser au lieu, useradd devrait être limité aux scripts où l'auteur sait vraiment ce qu'il fait. - flindeberg


La manière la plus simple d’obtenir ce genre d’information est getent - voir page de manuel pour le getent commander Manpage icon. Alors que cette commande donne le même résultat que cat /etc/passwd il est utile de se rappeler car il vous donnera des listes de plusieurs éléments dans le 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

Ajouter un utilisateur nouvel utilisateur 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 tout utilisateur) à un groupe (par exemple CD ROM) type

sudo adduser anyuser cdrom

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

sudo deluser obsolete

Si vous voulez supprimer son répertoire personnel / mails aussi bien que vous tapez

sudo deluser --remove-home obsolete

Et

sudo deluser --remove-all-files obsolete

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


52



Il est utile de se rappeler que getent n'imprime pas simplement la sortie des utilisateurs dans / etc / passwd, mais tous les utilisateurs de tous les backdotes configurés de userdb sur un système donné, que ce soit / etc / passwd ou LDAP, etc. - Marcin Kaminski


Vous pouvez utiliser compgen intégré aussi:

compgen -u

Will liste tous les utilisateurs.


21





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

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

Cela fonctionne par:

  • lire depuis /etc/passwd
  • en utilisant : en délimiteur
  • Si le troisième champ (le numéro d'identification d'utilisateur) est supérieur à 1000 et non 65534, le premier champ (le nom d'utilisateur de l'utilisateur) est imprimé.

En effet, sur de nombreux systèmes Linux, les noms d'utilisateurs supérieurs à 1 000 sont réservés aux utilisateurs non privilégiés (on pourrait dire normaux). Quelques infos à ce sujet 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   humains.

Les UID sont stockés avec leurs noms d'utilisateur correspondants 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 32 bits non signés   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   ne supporte que les UID 16 bits.

L’ID utilisateur de 0 a un rôle spécial: il s’agit toujours du compte racine (c.-à-d.   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 des deux actions n'est sage 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’ID utilisateur pour les 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 programme 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 l'activité des utilisateurs suspects.

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.


19





liste de tous les utilisateurs qui peuvent se connecter (aucun utilisateur du 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

effacer/ supprimer le nom d'utilisateur

sudo userdel username

Si vous souhaitez supprimer le répertoire personnel (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

15



Peut-être devriez-vous expliquer la différence entre adduser et useradd. Un aussi ajouter le sudo-prefix à la première commande. Le fichier d'ombre du mot de passe ne peut être lu qu'en tant que root. - s3lph
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow m'a montré tous les utilisateurs, y compris bin, démon, etc. et a lancé cet avertissement: séquence d'échappement \$' treated as plain $ 'J'ai trouvé ce post stackoverflow.com/a/25867768/847954  et ajouté une barre oblique inverse supplémentaire et cela a bien fonctionné: awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow - jeff musk


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 comme options possibles     useradd userdel utilisateurs usermod users-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 cela m'aidera à compléter les tabulations en bash, cela m'empêche de me souvenir de choses.


7





Pour trouver 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.


6



Cela montre uniquement le contenu de /home. Bien qu'Ubuntu place les répertoires d'utilisateurs par défaut, ce n'est en aucun cas obligatoire. - David Foerster