J'ai besoin d'une commande pour lister tous les utilisateurs ainsi que des commandes pour ajouter, supprimer et modifier des utilisateurs à partir du terminal - toutes les commandes qui pourraient aider à administrer facilement les comptes d'utilisateurs par terminal.
Répertorier
Pour tout lister local utilisateurs que 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 utilisateurs non locaux, voir cette réponse.
Quelques commandes de gestion des utilisateurs plus utiles (également limitées à local utilisateur):
Ajouter
Pour ajouter un nouvel utilisateur, vous pouvez utiliser:
sudo adduser nouveau_nom d'utilisateur
ou:
sudo useradd nouveau_nom d'utilisateur
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 utilisateur
Ensuite, vous souhaiterez peut-être supprimer le répertoire personnel du compte d'utilisateur supprimé :
sudo rm-r / accueil/utilisateur
Veuillez utiliser avec prudence la commande ci-dessus!
Modifier
Pour modifier le nom d'utilisateur d'un utilisateur:
usermod -l nouveau_nom d'utilisateur nom_utilisateur ancien
Pour modifier le mot de passe d'un utilisateur:
sudo passwd utilisateur
Pour changer le shell d'un utilisateur:
sudo chsh utilisateur
Pour modifier les détails d'un utilisateur (par exemple le nom réel):
sudo chfn utilisateur
Pour ajouter un utilisateur à la liste sudo
groupe:
adduser utilisateur sudo
ou
usermod -aG sudo utilisateur
Et, bien sûr, voir aussi: man adduser
, man useradd
, man userdel
... et ainsi de suite.
Appuyez simplement sur Ctrl+Alt+T sur votre clavier pour ouvrir le Terminal. Lorsqu'il s'ouvre, exécutez la ou les commandes ci-dessous:
cat /etc/passwd
OU
less /etc/passwdmore /etc/passwd
Vous pouvez également utiliser awk:awk
awk -F':' '{ print $1}' /etc/passwd
Le moyen le plus simple d'obtenir ce type d'informations est getent
- voir page de manuel pour le getent
commande . Alors que cette commande donne la même sortie que cat /etc/passwd
il est utile de s'en souvenir car il vous donnera des listes de plusieurs éléments du 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
Pour ajouter un utilisateur nouveau! au système que vous tapez
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 tout utilisateur) à un groupe (par exemple cdrom) 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 ainsi que vous tapez
sudo deluser --remove-home obsolete
Et
sudo deluser --remove-all-files obsolete
supprimera l'utilisateur et tous les fichiers appartenant à cet utilisateur sur l'ensemble du système.
Cela devrait obtenir, 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:
- lecture à partir de
/etc/passwd
- utiliser
:
comme 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é.
C'est parce que sur de nombreux systèmes Linux, les noms d'utilisateur supérieurs à 1000 sont réservés aux utilisateurs non privilégiés (vous pourriez dire normaux). Quelques infos à ce sujet ici:
Un ID utilisateur (UID) est un entier positif unique attribué par un système d'exploitation de type Unix à chaque utilisateur. 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 pour tous les utilisateurs ordinaires.
Dans les noyaux Linux 2.4 et supérieurs, les UID sont des entiers 32 bits non signés qui peuvent représenter des valeurs allant de zéro à 4 294 967 296. Cependant, il est conseillé de n'utiliser que 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 qui ne peuvent prendre en charge que les UID 16 bits.
L'UID de 0 a un rôle particulier: c'est toujours le compte root (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 des deux actions 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 fichiers) ou HTTP (protocole de transfert hypertexte).
Les UID 1 à 99 sont traditionnellement réservés aux utilisateurs spéciaux du système (parfois appelés pseudo-utilisateurs), tels que wheel, daemon, lp, operator, news, mail, etc. Ces utilisateurs sont des administrateurs qui n'ont pas besoin de pouvoirs root totaux, mais qui effectuent certaines tâches administratives et ont donc besoin de plus de privilèges que ceux accordés aux utilisateurs ordinaires.
Certaines distributions Linux (c'est-à-dire les versions) commencent les UID pour les utilisateurs non privilégiés à 100. D'autres, comme Red Hat, les commencent à 500, et d'autres encore, comme Debian, les commencent à 1000. En raison des différences entre les distributions, une intervention manuelle peut être nécessaire si plusieurs distributions sont utilisées dans un réseau d'une organisation.
En outre, il peut être pratique de réserver un bloc d'UID pour les utilisateurs locaux, tels que 1000 à 9999, et un autre bloc pour les utilisateurs distants (c'est-à-dire les utilisateurs ailleurs sur le réseau), tels que 10000 à 65534. L'important est de choisir un schéma et de le respecter.
Parmi les avantages de cette pratique consistant à réserver des blocs de nombres à des types particuliers d'utilisateurs, il est plus pratique de rechercher dans les journaux système des activités suspectes des utilisateurs.
Contrairement à la croyance populaire, il n'est pas nécessaire que chaque entrée dans le champ UID soit unique. Cependant, les UID non uniques peuvent causer des problèmes de sécurité et, par conséquent, les UID doivent rester uniques dans toute l'organisation. De même, le recyclage des UID d'anciens utilisateurs doit être évité aussi longtemps que possible.
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
supprimer/ supprimer le nom d'utilisateur
sudo userdel username
Si vous souhaitez supprimer le répertoire personnel (par défaut le répertoire/home / username)
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
Ok, voici une astuce qui vous aidera à résoudre ce problème. Le terminal a une complétion automatique si vous tapez user et appuyez deux fois sur la touche Tab, il répertorie toutes les commandes qui existent avec user comme les 4 premiers 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, tapez-la sur Google ou tapez man man useraddgives useradd-créer un nouvel utilisateur ou mettre à jour les nouvelles informations utilisateur par défaut ... ...
pour lister les utilisateurs, vous devriez suivre ce que Mitch a dit.
J'espère que cela aide, j'aime la complétion des onglets dans bash, cela m'évite de me souvenir de choses.
Pour connaître les utilisateurs qui ont des répertoires personnels dans le dossier / home sur la machine, exécutez les commandes suivantes
cd /homels
Vous pouvez alors voir les utilisateurs qui ont l'autorisation de se connecter au serveur. Si nous voulons examiner les fichiers de tous les utilisateurs, vous devez être l'utilisateur root.
La première réponse recommande:
cut -d: -f1 /etc/passwd
Mais en utilisant cela et en comptant le nombre d'utilisateurs, vous obtenez:
$ cut -d: -f1 /etc/passwd | wc -l46
46 utilisateurs pour un ordinateur portable, c'est beaucoup!. Alors utilisez ceci à la place:
$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1rootrickguest-atkb2qguest-u4sf2iguest-rmlbtgguest-mz53vp
Pour supprimer des comptes invités (qui n'ont de toute façon pas de fichiers enregistrés), utilisez:
$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1rootrick
Certains exemples d'utilisateurs supprimés de la liste sont:
systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/falsegnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncsync:x:4:65534:sync:/bin:/bin/syncguest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash
Il s'avère que la plupart des utilisateurs d'un système mono-utilisateur sont en fait des programmes qui se sont configurés en tant qu'utilisateurs.
sed réponse sed ' s/:.* / / '/etc / mot de passe
liste des utilisateurs: ‘awk-F:’ { print 1 1 } ’ / etc / passwd `