English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le système Linux est un système d'exploitation multitâche et multiutilisateur, tout utilisateur qui souhaite utiliser les ressources système doit d'abord demander un compte à l'administrateur système, puis se connecter au système sous ce compte.
D'une part, le compte utilisateur peut aider l'administrateur système à suivre les utilisateurs du système et à contrôler leur accès aux ressources système ; d'autre part, il peut également aider les utilisateurs à organiser les fichiers et à fournir une protection de sécurité aux utilisateurs.
Chaque compte utilisateur possède un nom d'utilisateur unique et un mot de passe personnel.
Après avoir saisi le nom d'utilisateur et le mot de passe corrects lors de la connexion, l'utilisateur peut accéder au système et à son répertoire principal.
Pour réaliser la gestion des comptes utilisateur, il faut accomplir les tâches suivantes principalement :
Ajout, suppression et modification des comptes utilisateur.
Gestion des mots de passe utilisateur.
Gestion des groupes utilisateur.
La gestion des comptes utilisateur implique principalement l'ajout, la modification et la suppression des comptes utilisateur.
Ajouter un compte utilisateur consiste à créer un nouveau compte dans le système, puis à attribuer à ce compte un numéro utilisateur, un groupe utilisateur, un répertoire principal et un Shell de connexion, etc. Le compte ajouté est verrouillé et ne peut pas être utilisé.
useradd options nom_d'utilisateur
Explication des paramètres :
Options :
-c Commentaire Spécifier une description descriptive.
-d Répertoire Spécifier le répertoire principal de l'utilisateur, si ce répertoire n'existe pas, utilisez-L'option m peut créer un répertoire principal.
-g Groupe utilisateur Spécifier le groupe utilisateur de l'utilisateur.
-G Groupe utilisateur, Groupe utilisateur Spécifier le groupe utilisateur supplémentaire de l'utilisateur.
-s Fichier Shell Spécifier le Shell de connexion de l'utilisateur.
-u Numéro d'utilisateur Spécifier le numéro d'utilisateur de l'utilisateur, si il y a-L'option o permet de réutiliser l'identifiant d'autre utilisateur.
Nom d'utilisateur:
Spécifier le nom de connexion du nouveau compte.
# useradd –d /home/sam -m sam
Cette commande a créé un utilisateur sam, où-d et-l'option m est utilisée pour générer un répertoire principal pour le nom d'utilisateur sam /home/sam (/home est le répertoire parent par défaut où se trouve le répertoire principal utilisateur).
# useradd -s /bin/sh -g group –G adm,root gem
Cette commande a créé un utilisateur gem, dont le Shell de connexion est /bin/sh, il appartient au groupe utilisateur group, et aussi au groupe utilisateur adm et root, où le groupe utilisateur group est le groupe principal.
ici, un nouveau groupe peut être créé : #groupadd group et groupadd adm
Ajouter un compte utilisateur consiste à/etc/Ajouter un enregistrement pour le nouveau utilisateur dans le fichier passwd, et mettre à jour d'autres fichiers système tels que/etc/shadow, /etc/group,
Linux fournit un outil de gestion système intégré userconf, qui peut être utilisé pour gérer les comptes utilisateurs de manière centralisée.
Si un compte utilisateur n'est plus utilisé, il peut être supprimé du système. Supprimer un compte utilisateur consiste à/etc/Supprimer un enregistrement de l'utilisateur dans les fichiers système tels que passwd, et éventuellement supprimer le répertoire principal de l'utilisateur si nécessaire.
Pour supprimer un compte utilisateur existant, utilisez la commande userdel, whose format is as follows:
userdel options nom_d'utilisateur
Les options courantes sont -r, qui a pour effet de supprimer également le répertoire principal de l'utilisateur.
Par exemple :
# userdel -r sam
Cette commande supprime l'utilisateur sam des fichiers système du système (principalement/etc/passwd, /etc/shadow, /etc/et autres enregistrements, en supprimant également le répertoire principal de l'utilisateur.
Modifier le compte utilisateur consiste à modifier les attributs pertinents de l'utilisateur en fonction de la situation réelle, tels que le numéro d'utilisateur, le répertoire principal, le groupe utilisateur, le Shell de connexion, etc.
Pour modifier les informations d'un utilisateur existant, utilisez la commande usermod, whose format is as follows:
usermod options nom_d'utilisateur
Les options courantes incluent-c, -d, -m, -g, -G, -s, -u ainsi que-o, etc., qui ont le même sens que les options de la commande useradd, et peuvent attribuer de nouvelles valeurs de ressources à l'utilisateur.
De plus, certains systèmes peuvent utiliser les options :-l Nouveau nom d'utilisateur
Cette option spécifie un nouveau compte, c'est-à-dire change le nom d'utilisateur existant.
Par exemple :
# usermod -s /bin/ksh -d /home/z –g developer sam
Cette commande change le Shell de connexion de l'utilisateur sam en ksh, et le répertoire principal en/home/z,le groupe d'utilisateur devient developer。
L'une des tâches importantes de la gestion des utilisateurs est la gestion des mots de passe des utilisateurs. Lorsque le compte utilisateur est créé, il n'a pas de mot de passe, mais il est verrouillé par le système et ne peut pas être utilisé. Il est nécessaire de spécifier un mot de passe avant de pouvoir l'utiliser, même s'il s'agit d'un mot de passe vide.
La commande Shell utilisée pour spécifier et modifier les mots de passe d'utilisateur est passwd. L'administrateur système peut spécifier des mots de passe pour lui-même et d'autres utilisateurs, tandis que l'utilisateur standard ne peut utiliser cette commande que pour modifier son propre mot de passe. Le format de la commande est :
passwd option utilisateur
Options disponibles :
-l Verrouille le mot de passe, c'est-à-dire désactive le compte.
-u Débloque le mot de passe, c'est-à-dire désactive le compte.
-d Rend le compte sans mot de passe.
-f Force l'utilisateur à modifier le mot de passe la prochaine fois qu'il se connecte.
Si le nom d'utilisateur par défaut est utilisé, le mot de passe de l'utilisateur actuel est modifié.
Par exemple, supposons que l'utilisateur actuel soit sam, la commande suivante modifie le mot de passe de cet utilisateur :
$ passwd Ancien mot de passe :****** Nouveau mot de passe :******* Re-Entrez un nouveau mot de passe :*******
Si vous êtes administrateur, vous pouvez spécifier le mot de passe de tout utilisateur sous la forme suivante :
# passwd sam Nouveau mot de passe :******* Re-Entrez un nouveau mot de passe :*******
Lorsque l'utilisateur standard modifie son mot de passe, la commande passwd demande d'abord le mot de passe d'origine pour la vérification, puis demande à l'utilisateur d'entrer deux fois le nouveau mot de passe. Si les deux mots de passe entrés sont identiques, ce mot de passe est attribué à l'utilisateur ;而当超级用户为用户指定口令时,则不需要知道原口令。
Pour des raisons de sécurité du système, l'utilisateur devrait choisir un mot de passe plus complexe, par exemple, il est préférable d'utiliser8Un mot de passe de longueur X, contenant des lettres majuscules, des lettres minuscules et des chiffres, et ne devrait pas être le même que le nom, la date de naissance, etc.
Pour attribuer un mot de passe vide à un utilisateur, exécutez la commande de la forme suivante :
# passwd -d sam
Cette commande supprime le mot de passe de l'utilisateur sam, de sorte que le système ne permet plus à l'utilisateur sam de se connecter lors de sa prochaine connexion.
La commande passwd peut également être utilisée -l(lock) option pour verrouiller un utilisateur, le rendant inable de se connecter, par exemple :
# passwd -l sam
Chaque utilisateur a un groupe d'utilisateurs, le système peut gérer tous les utilisateurs d'un groupe d'utilisateurs de manière centralisée. Les systèmes Linux diffèrent dans la spécification des groupes d'utilisateurs, par exemple, sous Linux, les utilisateurs appartiennent au groupe d'utilisateurs portant le même nom, ce groupe d'utilisateurs est créé en même temps que l'utilisateur lors de sa création.
La gestion des groupes d'utilisateurs implique l'ajout, la suppression et la modification des groupes d'utilisateurs. L'ajout, la suppression et la modification des groupes en fait partie./etc/Mise à jour du fichier group.
groupadd Option Groupe d'utilisateurs
Les options utilisables incluent :
-g ID de groupe Définissez l'ID de groupe (GID) du nouveau groupe d'utilisateurs.
-o Généralement avec-g Les options peuvent être utilisées simultanément, l'ID de groupe du nouveau groupe d'utilisateurs peut être le même que l'ID de groupe d'utilisateurs existant dans le système.
# groupadd group1
Cette commande ajoute un nouveau groupe group au système.1L'ID de groupe du nouveau groupe est ajouté sur la base du plus grand ID de groupe existant.1.
# groupadd -g 101 group2
Cette commande ajoute un nouveau groupe group au système.2et spécifiez l'ID de groupe nouveau du groupe101.
groupdel Groupe d'utilisateurs
# groupdel group1
Cette commande supprime le groupe group du système.1.
groupmod Option Groupe d'utilisateurs
Les options couramment utilisées incluent :
-g ID de groupe Définissez un nouvel identifiant de groupe pour le groupe d'utilisateurs.
-o Avec-g Les options peuvent être utilisées simultanément, l'ID de groupe nouveau du groupe d'utilisateurs peut être le même que l'ID de groupe d'utilisateurs existant dans le système.
-nNouveau groupe d'utilisateurs Changez le nom du groupe d'utilisateurs
# groupmod -g 102 group2
Cette commande modifie l'identifiant de groupe du groupe group2l'identifiant de groupe du groupe est modifié en102.
# groupmod –g 10000 -n group3 group2
Cette commande modifie l'identifiant de groupe du groupe group2l'identifiant de groupe est modifié en10000, le nom du groupe est modifié en group3.
Les utilisateurs peuvent utiliser la commande newgrp pour passer à un autre groupe d'utilisateurs après la connexion, et le paramètre de cette commande est le groupe d'utilisateurs cible. Par exemple :
$ newgrp root
Cette commande change l'utilisateur actuel en utilisateur root, à condition que le groupe root soit le groupe principal ou un groupe supplémentaire de cet utilisateur. Comme pour la gestion des comptes d'utilisateurs, la gestion des groupes d'utilisateurs peut également être effectuée à l'aide des outils de gestion système intégrés.
Il existe de nombreuses méthodes pour accomplir le travail de gestion des utilisateurs, mais chaque méthode est en réalité une modification des fichiers système concernés.
Les informations liées aux utilisateurs et aux groupes d'utilisateurs sont stockées dans certains fichiers système, notamment/etc/passwd, /etc/shadow, /etc/group,
Nous présentons ci-dessous le contenu de ces fichiers.
Chaque utilisateur du système Linux est/etc/Le fichier passwd contient une ligne d'enregistrement correspondante, qui enregistre certaines propriétés de base de cet utilisateur.
Ce fichier est lisible par tous les utilisateurs. Son contenu est similaire à l'exemple suivant :
# cat /etc/passwd root:x:0:0:Superutilisateur:/: daemon:x:1:1:Démon système:/etc: bin:x:2:2:Propriétaire des commandes système:/bin: sys:x:3:3:Propriétaire des fichiers système:/usr/sys: adm:x:4:4:Compte système de comptabilité:/usr/adm: uucp:x:5:5:Administrateur d'UUCP:/usr/lib/uucp: auth:x:7:21:Administrateur d'authentification:/tcb/files/auth: cron:x:9:16:Démon Cron:/usr/spool/cron: listen:x:37:4:Démon réseau:/usr/net/nls: lp:x:71:18:Administrateur d'imprimante:/usr/spool/lp: sam:x:200:50:Sam san:/home/sam:/bin/sh
À partir de l'exemple ci-dessus, nous pouvons voir que/etc/Chaque ligne du fichier passwd correspond à un utilisateur, et chaque enregistrement est séparé par des deux points (:7champs, dont le format et le sens sont les suivants:
Nom d'utilisateur:Mot de passe:Identifiant utilisateur:Identifiant de groupe:Description informative:Répertoire principal:Shell de connexion
En règle générale, la longueur ne dépasse pas8caractères, et est composé de lettres majuscules et minuscules./ou de nombres. Le nom d'utilisateur ne peut pas contenir de deux points (:
Pour la compatibilité, il est préférable de ne pas inclure de point (.) dans le nom d'utilisateur, et de ne pas utiliser de tiret (-) et le signe plus (+) commence par.
Bien que ce champ ne contienne que la chaîne de caractères cryptée du mot de passe utilisateur, pas le texte brut, mais en raison de/etc/Le fichier passwd est lisible par tous les utilisateurs, donc c'est toujours une faille de sécurité. Par conséquent, de nombreux systèmes Linux (comme SVR4)tous utilisent la technologie shadow, stockant le mot de passe utilisateur crypté dans/etc/dans le fichier shadow, tandis que/etc/Le champ mot de passe du fichier passwd ne contient qu'un caractère spécial, par exemple "x" ou "*”。
En règle générale, il correspond à l'identifiant de l'utilisateur. Si plusieurs noms d'utilisateur ont le même identifiant utilisateur, le système les considère comme le même utilisateur interne, mais ils peuvent avoir des mots de passe, des dossiers principaux et des Shells de connexion différents.
Le domaine de valeurs de l'identifiant utilisateur de l'utilisateur normal est généralement 0~65 535。0 est l'identifiant de l'utilisateur root, superutilisateur.1~99Conservé par le système, utilisé en tant que compte administrateur, l'identifiant de l'utilisateur normal est100 commence. Dans les systèmes Linux, cette limite est500.
Il correspond à/etc/Un enregistrement dans le fichier group.
Par exemple, le nom réel de l'utilisateur, le numéro de téléphone, l'adresse, etc., ce champ n'a pas vraiment d'utilisation. Le format de ce champ n'est pas uniforme dans différents systèmes Linux. Dans de nombreux systèmes Linux, ce champ contient un texte descriptif arbitraire, utilisé comme texte de sortie pour la commande finger.
C'est le répertoire où l'utilisateur se trouve après la connexion. Dans la plupart des systèmes, les répertoires principaux des utilisateurs sont organisés dans un répertoire spécifique, et le nom du répertoire principal de l'utilisateur est le nom de connexion de l'utilisateur. Les utilisateurs ont des permissions de lecture, d'écriture et d'exécution (recherche) sur leur répertoire principal, tandis que les permissions d'accès de d'autres utilisateurs à ce répertoire sont définies en fonction de la situation spécifique.
Le Shell est l'interface entre l'utilisateur et le système Linux. Les Shells de Linux en ont de nombreux types, chacun ayant des caractéristiques différentes. Les plus courants sont sh (Bourne Shell), csh (C Shell), ksh (Korn Shell), tcsh (TENEX/TOPS-20 type C Shell), bash (Bourne Again Shell) et autres.
L'administrateur système peut attribuer un Shell spécifique aux utilisateurs en fonction de la situation du système et des habitudes des utilisateurs. Si le Shell n'est pas spécifié, le système utilise sh comme Shell de connexion par défaut, c'est-à-dire que la valeur de ce champ est/bin/sh.
Le Shell de connexion de l'utilisateur peut également être spécifié comme un programme spécifique (ce programme n'est pas un interpréteur de commandes).
Grâce à cette caractéristique, nous pouvons limiter les utilisateurs à l'exécution des applications spécifiées, après quoi l'utilisateur se déconnecte automatiquement du système. Certains systèmes Linux exigent que seules les applications enregistrées dans le système puissent apparaître dans ce champ.
Ces utilisateurs sont/etc/Le fichier passwd en contient également une entrée, mais ils ne peuvent pas se connecter car leur Shell de connexion est vide. Leur existence vise principalement à faciliter la gestion du système, en répondant aux exigences des processus système concernant le propriétaire des fichiers.
Les utilisateurs pseudo usuels courants sont les suivants :
Pseudo - Utilisateur - Signification bin - Possession des fichiers de commandes utilisateur exécutables sys - Possession des fichiers système adm - Possession du fichier de comptes uucp - Utilisation de UUCP lp - Utilisation de lp ou du sous-système lpd nobody NFS使用
1propriétaire du fichier de compte
, en plus des utilisateurs pseudos répertoriés ci-dessus, il y a beaucoup d'utilisateurs pseudos standards, par exemple : audit, cron, mail, usenet, etc., ils sont tous nécessaires pour les processus et les fichiers pertinents./etc/du fait que/etc/Le fichier passwd est accessible à tous les utilisateurs, si le mot de passe de l'utilisateur est trop simple ou que le schéma est trop évident, un ordinateur ordinaire peut facilement le décrypter. Par conséquent, les systèmes Linux qui exigent une sécurité élevée séparent les mots de passe chiffrés et les stockent séparément dans un fichier, ce fichier est fichier shadow.
2Seul le superutilisateur a le droit de lire ce fichier, ce qui garantit la sécurité des mots de passe des utilisateurs./etc/,/etc/Les lignes des enregistrements de shadow et/etc/Les données du fichier passwd sont générées automatiquement
Son format de fichier est le même que/etc/comme passwd, composé de plusieurs champs, séparés par ":". Ces champs sont :
nom d'utilisateur: mot de passe chiffré: dernière modification: durée minimale: durée maximale: durée d'avertissement: durée d'inactivité: date d'expiration: marque
"Nom d'utilisateur" est le même que/etc/Les noms d'utilisateur du fichier passwd sont identiques aux comptes d'utilisateurs
Le champ "mot de passe" contient le mot de passe chiffré de l'utilisateur, de longueur13caractères. Si c'est vide, l'utilisateur correspondant n'a pas de mot de passe et n'a pas besoin de mot de passe pour se connecter ; si il contient des caractères qui ne font pas partie de l'ensemble { ./0-9A-Za-les caractères de } ne peuvent pas se connecter à l'utilisateur correspondant.
Le champ "dernière modification" indique le nombre de jours depuis un certain moment jusqu'à la dernière modification du mot de passe par l'utilisateur. Le point de départ peut varier d'un système à l'autre. Par exemple, dans SCO Linux, ce point de départ est1970 ans1mois1jour.
La "durée minimale" fait référence au nombre minimum de jours nécessaire entre deux modifications de mot de passe.
La "durée maximale" fait référence au nombre maximum de jours pendant lesquels le mot de passe reste valide.
Le champ "durée d'avertissement" indique le nombre de jours entre le début du système d'avertissement de l'utilisateur et la date à laquelle le mot de passe devient officiellement expiré.
Le champ "durée d'inactivité" indique le nombre maximum de jours pendant lesquels un utilisateur peut ne pas se connecter mais le compte reste valide.
Le champ "date d'expiration" indique un nombre absolu de jours. Si ce champ est utilisé, il indique la durée de vie de l'utilisateur correspondant. Après expiration, le compte n'est plus valide et ne peut plus être utilisé pour se connecter.
Voici/etc/Un exemple de shadow :
# cat /etc/shadow root:Dnakfw28zf38w:8764:0:168:7::: daemon:*::0:0:::: bin:*::0:0:::: sys:*::0:0:::: adm:*::0:0:::: uucp:*::0:0:::: nuucp:*::0:0:::: auth:*::0:0:::: cron:*::0:0:::: écouter:*::0:0:::: lp:*::0:0:::: sam:EkdiSECLWPdSa:9740:0:0::::
Classer les utilisateurs est une méthode de gestion et de contrôle des droits d'accès des utilisateurs dans le système Linux.
Chaque utilisateur appartient à un groupe utilisateur; un groupe peut contenir plusieurs utilisateurs, et un utilisateur peut appartenir à plusieurs groupes.
Lorsque l'utilisateur est membre de plusieurs groupes, dans/etc/Le fichier passwd enregistre le groupe principal de l'utilisateur, c'est-à-dire le groupe par défaut lors de la connexion, et d'autres groupes sont appelés groupes supplémentaires.
Pour accéder aux fichiers appartenant à un groupe supplémentaire, l'utilisateur doit d'abord utiliser la commande newgrp pour devenir membre du groupe souhaité.
Toutes les informations sur les groupes utilisateurs sont stockées dans/etc/Le fichier group. Ce fichier a un format similaire à/etc/Le fichier passwd, séparé par des deux points (:), contient plusieurs champs, y compris :
Nom du groupe:Mot de passe:Numéro d'identité du groupe:Liste des utilisateurs du groupe
"Nom du groupe" est le nom du groupe utilisateur, composé de lettres ou de chiffres. Comme/etc/Le nom du groupe ne doit pas être répété, comme le nom d'utilisateur dans passwd.
"Mot de passe" est le mot de passe chiffré du groupe utilisateur. Les groupes utilisateur du système Linux n'ont généralement pas de mot de passe, donc ce champ est généralement vide ou*.
"Numéro d'identité du groupe" est similaire au numéro d'identité de l'utilisateur, c'est un entier utilisé par le système interne pour identifier le groupe.
"Liste des utilisateurs du groupe" est la liste de tous les utilisateurs appartenant à ce groupe/b],les utilisateurs entre eux sont séparés par des virgules (,). Ce groupe utilisateur peut être le groupe principal de l'utilisateur ou un groupe supplémentaire.
/etc/Voici un exemple d'un fichier group :
root::0:root bin::2:root,bin sys::3:root,uucp adm::4:root,adm daemon::5:root,daemon lp::7:root,lp users::20:root,sam
Ajouter et supprimer des utilisateurs est une tâche aisée pour chaque administrateur système Linux, mais lorsque l'on doit ajouter des dizaines, des centaines ou même des milliers d'utilisateurs, il est peu probable que l'on utilise useradd pour les ajouter un par un. Il est nécessaire de trouver une méthode simple pour créer un grand nombre d'utilisateurs. Le système Linux fournit des outils pour créer un grand nombre d'utilisateurs, permettant ainsi de créer immédiatement un grand nombre d'utilisateurs, selon les méthodes suivantes :
Chaque colonne suivant/etc/Le format de l'entrée du fichier passwd doit être soigneusement écrit, chaque nom d'utilisateur, UID et répertoire d'hôte des utilisateurs ne peuvent pas être identiques, et la case de mot de passe peut être laissée vide ou remplie par le chiffre x. Voici un exemple de contenu du fichier user.txt :
user001::600:100:user:/home/user001:/bin/bash user002::601:100:user:/home/user002:/bin/bash user003::602:100:user:/home/user003:/bin/bash user004::603:100:user:/home/user004:/bin/bash user005::604:100:user:/home/user005:/bin/bash user006::605:100:user:/home/user006:/bin/bash
# newusers < user.txt
Ensuite, vous pouvez exécuter la commande vipw ou vi /etc/Vérifiez passwd /etc/Vérifiez si le fichier passwd contient les données des utilisateurs et si les dossiers d'hôte des utilisateurs ont été créés.
Ecrire /etc/Décodez le mot de passe shadow généré par shadow et écrivez-le /etc/dans passwd, puis écrivez/etc/Supprimez la barre de mots de passe shadow dans passwd pour faciliter les prochaines opérations de conversion de mot de passe, c'est-à-dire désactiver d'abord la fonction shadow password.
# pwunconv
Le format est :
Nom d'utilisateur:Mot de passe
Le contenu de l'exemple de fichier passwd.txt est le suivant :
user001:123456 user002:123456 user003:123456 user004:123456 user005:123456 user006:123456
Créer mot de passe utilisateur, chpasswd encodera le mot de passe après /usr/bin/Ecrire le mot de passe codé de la commande passwd /etc/la barre de mot de passe passwd.
# chpasswd < passwd.txt
exécuter commande /usr/sbin/pwconv encode les mots de passe en mots de passe shadow et écrit les résultats dans /etc/shadow.
# pwconv
Ainsi, la création d'un grand nombre d'utilisateurs est terminée, ensuite vous pouvez aller à/Vérifiez que les paramètres de permission des dossiers d'hôte des utilisateurs sous home sont corrects et connectez-vous pour vérifier si le mot de passe de l'utilisateur est correct.