Maison  >  Article  >  Tutoriel système  >  Explication détaillée du fichier /etc/passwd sous Linux

Explication détaillée du fichier /etc/passwd sous Linux

PHPz
PHPzavant
2024-02-12 17:18:191018parcourir

Saviez-vous que dans le système Linux, chaque utilisateur a des lignes d'enregistrement correspondantes dans le fichier /etc/passwd. Ces lignes d'enregistrement contiennent certains attributs de base de l'utilisateur. En tant qu'administrateur système, il est courant d'apporter des modifications fréquentes à ce fichier pour gérer les utilisateurs.

Explication détaillée du fichier /etc/passwd sous Linux

Son contenu est similaire à l'exemple ci-dessous :

Explication détaillée du fichier /etc/passwd sous Linux

Nous pouvons voir dans l'exemple ci-dessus qu'une ligne d'enregistrements dans /etc/passwd correspond à un utilisateur, et chaque ligne d'enregistrements est séparée en 7 champs par deux points (:). Son format et sa signification spécifique sont les suivants :

Nom d'utilisateur : Mot de passe : Numéro d'identification de l'utilisateur : Numéro d'identification du groupe : Description du commentaire : Répertoire personnel : Login Shell

"nom d'utilisateur"

Une chaîne représentant le compte utilisateur. Généralement pas plus de 8 caractères et composés de lettres majuscules et minuscules et/ou de chiffres. Il ne peut pas y avoir de deux-points (:) dans le nom de connexion car les deux-points sont ici le séparateur. Par souci de compatibilité, il est préférable de ne pas inclure de point (.) dans le nom de connexion et de ne pas commencer par un trait d'union (-) et un signe plus (+).

"mot de passe"

Dans certains systèmes, les mots de passe des utilisateurs cryptés sont stockés. Bien que ce champ stocke uniquement la chaîne cryptée du mot de passe de l'utilisateur, pas le texte brut, puisque le fichier /etc/passwd est lisible par tous les utilisateurs, cela constitue toujours un risque de sécurité. Par conséquent, de nombreux systèmes Linux (tels que SVR4) utilisent désormais la technologie shadow pour stocker le véritable mot de passe utilisateur crypté dans le fichier /etc/shadow, et stockent uniquement un mot de passe spécial dans le champ de mot de passe du fichier /etc/passwd. comme "x" ou "*".

"Numéro d'identification de l'utilisateur"

est un nombre entier utilisé en interne par le système pour identifier l'utilisateur. Généralement, cela correspond au nom d'utilisateur un à un. Si les numéros d'identification d'utilisateur correspondant à plusieurs noms d'utilisateur sont identiques, ils seront considérés comme le même utilisateur en interne par le système, mais ils peuvent avoir des mots de passe différents, des répertoires personnels différents, des shells de connexion différents, etc. Habituellement, la plage de valeurs des numéros d'identification des utilisateurs est comprise entre 0 et 65 535. 0 est le numéro d'identification du super utilisateur racine, 1 à 99 sont réservés par le système en tant que comptes de gestion et les numéros d'identification des utilisateurs ordinaires commencent à 100. Sur les systèmes Linux, cette limite est de 500.

"Numéro d'identification de groupe"

Le champ enregistre le groupe d'utilisateurs auquel appartient l'utilisateur. Cela correspond à un enregistrement dans le fichier /etc/group.

"Description annotée"

Le champ enregistre certaines informations personnelles de l'utilisateur, telles que le vrai nom de l'utilisateur, son numéro de téléphone, son adresse, etc. Ce champ n'a aucune utilité pratique. Le format de ce champ n'est pas uniforme dans les différents systèmes Linux. Dans de nombreux systèmes Linux, ce champ stocke un texte de description de commentaire arbitraire, qui est utilisé comme sortie de la commande finger.

"Annuaire personnel"

C'est-à-dire le répertoire de travail de départ de l'utilisateur, qui est le répertoire dans lequel se trouve l'utilisateur après s'être connecté au système. Dans la plupart des systèmes, le répertoire personnel de chaque utilisateur est organisé dans le même répertoire spécifique et le nom du répertoire personnel de l'utilisateur est le nom de connexion de l'utilisateur.

Chaque utilisateur dispose d'autorisations de lecture, d'écriture et d'exécution (recherche) pour son propre répertoire personnel. Les autorisations d'accès des autres utilisateurs à ce répertoire sont définies en fonction de circonstances spécifiques. Une fois que l'utilisateur s'est connecté, un processus est démarré, chargé de transmettre les opérations de l'utilisateur au noyau. Ce processus est l'interpréteur de commandes ou un programme spécifique, c'est-à-dire le Shell, qui est exécuté une fois que l'utilisateur s'est connecté au noyau. système. Le Shell est l'interface entre l'utilisateur et le système Linux. Il existe de nombreux types de Linux Shells, chacun ayant des caractéristiques différentes.

Les plus couramment utilisés incluent sh (BourneShell), csh (CShell), ksh (KornShell), tcsh (TENEX/TOPS-20typeCShell), bash (BourneAgainShell), etc.

Les administrateurs système peuvent désigner un shell pour les utilisateurs en fonction des conditions du système et des habitudes des utilisateurs. Si vous ne spécifiez pas de shell, 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 désigné comme un programme spécifique (ce programme n'est pas un interpréteur de commandes).

Grâce à cette fonctionnalité, nous pouvons restreindre les utilisateurs à exécuter uniquement des applications spécifiées. Une fois l'exécution de l'application terminée, l'utilisateur quittera automatiquement le système. Certains systèmes Linux exigent que seuls les programmes enregistrés dans le système puissent apparaître dans ce champ. Il existe un type d'utilisateur dans le système appelé pseudo-utilisateur. Ces utilisateurs ont également un enregistrement dans le fichier Linux /etc/passwd, mais ne peuvent pas se connecter car leur shell de connexion est vide. Leur existence vise principalement à faciliter la gestion du système et à répondre aux exigences des processus système correspondants pour les propriétaires de fichiers. Les pseudo-utilisateurs courants sont présentés ci-dessous.

Signification du pseudo-utilisateur

Comprend :

bin a des fichiers de commandes utilisateur exécutables

sys possède les fichiers système

adm est propriétaire du fichier de compte

Utilisation uucp UUCP

Utilisation du sous-système lplp ou lpd

personne n'utilise NFS

Avoir des fichiers de compte

Il existe également des pseudo-utilisateurs standards, tels que audit, cron, mail, usenet, etc., qui ont également des processus et des fichiers correspondants dans le système Linux. Cependant, comme le fichier Linux /etc/passwd est lisible par tous les utilisateurs, si le mot de passe de l'utilisateur est trop simple ou présente des modèles évidents, il peut être facilement piraté par des attaquants. Par conséquent, dans les systèmes Linux ayant des exigences de sécurité élevées, les mots de passe cryptés sont stockés séparément dans le fichier /etc/shadow, et seul le superutilisateur a l'autorisation de lire le fichier, protégeant ainsi la sécurité du mot de passe de l'utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer