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.
awk -F: '{ print $1 }' /etc/passwd
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.
awk -F: '{ print $1 }' /etc/passwd
Réponses:
Pour lister tous les utilisateurs locaux , vous pouvez utiliser:
cut -d: -f1 /etc/passwd
Pour lister 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 ):
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 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!
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 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 sudogroupe:
adduser username sudo
ou
usermod -aG sudo username
Et, bien sûr voir aussi: man adduser, man useradd, man userdel... et ainsi de suite.
sudo chfn <username>modifications apportées aux détails de l'utilisateur (par exemple, son nom réel). J'ai essayé d'ajouter ceci en tant que commentaire, mais une erreur me dit que je dois avoir plus de 50 ans de réputation pour le faire.
Appuyez simplement sur Ctrl+ Alt+ Tsur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez 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
adduserplace, useradddevrait être limitée aux scripts où l'auteur sait vraiment ce qu'il fait.
Le moyen le plus simple d’obtenir ce type d’informations est getent- voir la page de manuel pour la getentcommande
. Bien que cette commande donne le même résultat cat /etc/passwdqu’il est utile de retenir, elle vous donnera 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 répertoriés /etc/passwd)
getent passwd
Pour ajouter un nouvel utilisateur 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 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.
getent passwdétant le bon commandement
Cela devrait permettre, 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:
/etc/passwd:comme délimiteurEn 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 informations à ce sujet 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 de 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 de l'utilisateur administrateur 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é par des 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 commencent à 500, et d'autres, telles que Debian, les démarrent à 1000. En raison des différences entre les distributions, manuel 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, par exemple 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.
getentau lieu de lire directement depuis /etc/passwdet lookup UID_MIN/ UID_MAXau lieu de coder en dur les valeurs:getent passwd | awk -F: "{if (\$3 >= $(awk '/^UID_MIN/ {print $2}' /etc/login.defs) && \$3 <= $(awk '/^UID_MAX/ {print $2}' /etc/login.defs)) print \$1}"
liste de tous les utilisateurs pouvant se connecter (aucun utilisateur système comme: bin, deamon, mail, sys, etc.)
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow
ajouter un 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
adduseret useradd. Ajoutez également le sudopréfixe à la première commande. Le fichier shadow de mot de passe ne peut être lu qu'en tant que root.
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadowm'a montré tous les utilisateurs, y compris bin, daemon, etc. et a lancé cet avertissement: séquence d'échappement \$' treated as plain $ 'J'ai trouvé cet article stackoverflow.com/a/25867768/847954 et ajouté une barre oblique inverse supplémentaire, qui a bien fonctionné:awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow
Ok, voici une astuce qui vous aidera à trier cela. Le terminal se termine automatiquement si vous tapez utilisateur et 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 users-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 nouvelles informations d'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.
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.
/home. Bien qu'Ubuntu y place les répertoires d'utilisateurs par défaut, ce n'est en aucun cas obligatoire.
ls /homepeut également contenir des répertoires d’utilisateurs supprimés.
sed 's/:.*//' /etc/passwd