web-dev-qa-db-fra.com

Une commande pour lister tous les utilisateurs? Et comment ajouter, supprimer, modifier des 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 vous aider à gérer facilement vos comptes par terminal.

826
nux

Lister

Pour lister tous les utilisateurs locaux , 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 non-locaux, voir cette réponse .

Quelques commandes de gestion des utilisateurs plus utiles (également limitées aux utilisateurs locaux ):

Ajouter

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

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

Sudo userdel username

Ensuite, vous voudrez peut-être supprimer le répertoire de base du compte d'utilisateur supprimé:

Sudo rm -r/home/ nom d'utilisateur 

Veuillez utiliser avec prudence la commande ci-dessus!

Modifier

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

usermod -l new_usernameold_username

Pour changer le mot de passe d'un utilisateur:

Sudo passwd username

Pour changer le shell pour un utilisateur:

Sudo chsh username

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

Sudo chfn username

Pour ajouter un utilisateur au groupe Sudo:

adduser username Sudo

ou

usermod -aG Sudo username

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

1104
Radu Rădeanu

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

cat /etc/passwd

OR

less /etc/passwd
more /etc/passwd

Vous pouvez aussi utiliser awk:awk

awk -F':' '{ print $1}' /etc/passwd
82
Mitch

Le moyen le plus simple d’obtenir ce type d’informations est getent - see page de manuel de la commande getent Manpage icon . Bien que cette commande produise le même résultat que cat /etc/passwd, il est utile de s'en souvenir car elle vous fournira des listes de plusieurs éléments du système d'exploitation.

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

getent passwd

Pour ajouter un utilisateur newuser au système, vous devez taper

Sudo adduser newuser

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

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

Sudo adduser anyuser cdrom

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

Sudo deluser obsolete

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

Sudo deluser --remove-home obsolete

Et

Sudo deluser --remove-all-files obsolete

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

61
guntbert

Vous pouvez aussi utiliser compgenGNU bash intégré :

compgen -u

Will liste tous les utilisateurs.

40
Ravexina

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

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

Cela fonctionne par:

  • lecture de /etc/passwd
  • en utilisant : en tant que délimiteur
  • si le troisième champ (le numéro d'identification de l'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’utilisateur supérieurs à 1 000 sont réservés aux utilisateurs non privilégiés (on pourrait dire normaux). Quelques infos sur ce ici :

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

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

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

Dans les noyaux Linux 2.4 et supérieurs, les UID sont des entiers 32 bits non signés pouvant représenter des valeurs allant de zéro à 4 294 967 296. Toutefois, il est conseillé d’utiliser des valeurs allant jusqu’à 65 534 afin de maintenir la compatibilité avec les systèmes utilisant des noyaux plus anciens ou des systèmes de fichiers ne pouvant prendre en charge que des UID 16 bits.

L'UID de 0 a un rôle spécial: il s'agit toujours du compte racine (c'est-à-dire l'utilisateur administratif omnipotent). Bien que le nom d'utilisateur puisse être modifié sur ce compte et que des comptes supplémentaires puissent ê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, un utilisateur sans privilèges système, 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 fichier) ou HTTP (protocole de transfert hypertexte).

Les UID 1 à 99 sont traditionnellement réservés à des utilisateurs système spéciaux (parfois appelés pseudo-utilisateurs), tels que wheel, daemon, lp, opérateur, actualités, messagerie, etc. Ces utilisateurs sont des administrateurs qui n'ont pas besoin de pouvoirs root totaux, mais certaines tâches administratives et nécessitent donc plus de privilèges que ceux accordés aux utilisateurs ordinaires.

Certaines distributions Linux (c.-à-d. Versions) commencent les UID pour les utilisateurs non privilégiés à 100. D'autres, telles que Red Hat, les lancent à 500, et d'autres, telles que Debian, les démarrent à 1000. En raison des différences entre les distributions, manuel Une intervention 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 pour les utilisateurs distants (utilisateurs situés ailleurs sur le réseau), tels que 10000 à 65534. L'important est de décider sur un schéma et y adhérer.

L'un des avantages de cette pratique consistant à réserver des blocs de numéros à des types d'utilisateurs particuliers est qu'il est plus pratique de rechercher dans les journaux système des activités utilisateur suspectes.

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

27
Wilf

liste de tous les utilisateurs pouvant 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

supprimer/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 personnel)

Sudo deluser --remove-all-files
17
Donovan Vesters

Ok, voici une astuce qui vous aidera à trier cela. Le terminal se termine automatiquement si vous tapez utilisateur et que vous appuyez deux fois sur la touche de tabulation, toutes les commandes existantes avec l'utilisateur seront répertoriées comme les 4 premiers caractères.

user (tab tab)

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

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

L’espoir que cela aide j’aime l’achèvement de la tabulation dans bash me sauve de me souvenir de choses.

8
user239243

Pour trouver les utilisateurs qui ont des répertoires de départ dans le dossier/home de la machine, exécutez les commandes suivantes.

cd /home
ls 

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

6
anvesh