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.
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.
sed 's/:.*//' /etc/passwd
awk -F: '{ print $1 }' /etc/passwd
Réponses:
Lister
Pour lister tous les utilisateurs locaux , vous pouvez utiliser:
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 ):
Ajouter
Pour ajouter un nouvel utilisateur, vous pouvez utiliser:
ou:
Voir aussi: Quelle est la différence entre adduser et useradd?
Pour supprimer / supprimer
Pour supprimer / supprimer un utilisateur, vous pouvez d’abord utiliser:
Ensuite, vous voudrez peut-être supprimer le répertoire de base du compte d'utilisateur supprimé:
Veuillez utiliser avec prudence la commande ci-dessus!
Modifier
Pour modifier le nom d'utilisateur d'un utilisateur:
Pour changer le mot de passe d'un utilisateur:
Pour changer le shell pour un utilisateur:
Pour modifier les détails d'un utilisateur (par exemple, son nom réel):
Pour ajouter un utilisateur au
sudo
groupe:ou
Et, bien sûr voir aussi:
man adduser
,man useradd
,man userdel
... et ainsi de suite.la source
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:
OU
Vous pouvez également utiliser awk: awk
la source
adduser
place,useradd
devrait ê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 lagetent
commande . Bien que cette commande donne le même résultatcat /etc/passwd
qu’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
)Pour ajouter un nouvel utilisateur au système, vous devez taper
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 )
Vous supprimez un utilisateur (par exemple obsolète ) avec
Si vous souhaitez également supprimer son répertoire personnel / vos mails, vous tapez
Et
supprime l'utilisateur et tous les fichiers appartenant à cet utilisateur sur l'ensemble du système.
la source
getent passwd
étant le bon commandementVous pouvez aussi utiliser
compgen
GNU bash intégré :Will liste tous les utilisateurs.
la source
Cela devrait permettre, dans la plupart des situations normales , à tous les utilisateurs normaux (non-système, pas bizarre, etc.):
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 :
la source
getent
au lieu de lire directement depuis/etc/passwd
et lookupUID_MIN
/UID_MAX
au 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.)
ajouter un nouvel utilisateur
ou
supprimer / supprimer le nom d'utilisateur
Si vous souhaitez supprimer le répertoire personnel (par défaut, le répertoire / home / nom d'utilisateur)
ou
Si vous souhaitez supprimer tous les fichiers du système de cet utilisateur (non seulement le répertoire personnel).
la source
adduser
etuseradd
. Ajoutez également lesudo
pré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/shadow
m'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.
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.
la source
Pour trouver les utilisateurs qui ont des répertoires de départ dans le dossier / home de la machine, exécutez les commandes suivantes.
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.
la source
/home
. Bien qu'Ubuntu y place les répertoires d'utilisateurs par défaut, ce n'est en aucun cas obligatoire.ls /home
peut également contenir des répertoires d’utilisateurs supprimés.