J'ai besoin d'une commande pour lister tous les utilisateurs ainsi que des commandes pour ajouter, supprimer et modifier les utilisateurs à partir du terminal - toute commande qui pourrait aider à administrer les comptes utilisateurs facilement par le terminal.
Réponses
Trop de publicités?liste de tous les utilisateurs qui peuvent se connecter (pas d'utilisateurs 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 /remove username
sudo userdel username
Si vous voulez supprimer le répertoire d'accueil (par défaut le répertoire /home/username)
sudo deluser --remove-home username
ou
sudo rm -r /path/to/user_home_dir
Si vous voulez supprimer tous les fichiers du système de cet utilisateur (pas seulement le répertoire d'accueil)
sudo deluser --remove-all-files
Ok, voici une astuce qui va vous aider à résoudre ce problème. Le terminal dispose d'un système de complétion automatique. Si vous tapez user et appuyez deux fois sur la touche Tab, il vous donnera la liste de toutes les commandes qui existent avec user comme premiers 4 caractères.
user (tab tab)
me donne comme options possibles useradd userdel usermod users users-admin
si vous voulez en savoir plus sur une commande, googlez-la ou tapez man man useradd donne useradd - créer un nouvel utilisateur ou mettre à jour les informations d'un nouvel utilisateur par défaut ... ...
pour lister les utilisateurs, vous devriez suivre ce que Mitch a dit.
J'espère que cela vous aidera. J'adore la complétion de tabulation dans bash, cela m'évite de me souvenir de certaines choses.
Pour connaître les utilisateurs qui ont des répertoires personnels dans le dossier /home de la machine, exécutez les commandes suivantes
cd /home
ls
Vous pouvez alors voir les utilisateurs qui ont l'autorisation de se connecter au serveur. Si nous voulons consulter les fichiers de n'importe quel utilisateur, vous devez être l'utilisateur root.
La première réponse recommande :
cut -d: -f1 /etc/passwd
Mais en utilisant ceci et en comptant le nombre d'utilisateurs que vous obtenez :
$ cut -d: -f1 /etc/passwd | wc -l
46
46 utilisateurs pour un ordinateur portable, c'est beaucoup ! Utilisez donc ceci à la place :
$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1
root
rick
guest-atkb2q
guest-u4sf2i
guest-rmlbtg
guest-mz53vp
Pour supprimer les comptes invités (qui n'ont pas de fichiers sauvegardés de toute façon), utilisez :
$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1
root
rick
Quelques exemples d'utilisateurs retirés de la liste sont :
systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
sync:x:4:65534:sync:/bin:/bin/sync
guest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash
Il s'avère que la plupart des utilisateurs d'un système à utilisateur unique sont en fait des programmes qui se sont configurés comme utilisateurs.
- Réponses précédentes
- Plus de réponses