GNU/Linux >> Tutoriels Linux >  >> Linux

Les informations Linux GECOS démystifiées

Les informations GECOS pourraient être l'un des derniers grands mystères de l'informatique moderne. Pourquoi GECOS est-il un sujet si licorne pour les gens de Linux ? Je pense que c'est parce que les administrateurs système l'appellent GECOS  sans connaître la signification de l'acronyme ou son objectif initial. Les administrateurs système se réfèrent à ce /etc/passwd informations de fichier en tant que Commentaire de l'utilisateur domaine. Le commentaire de l'utilisateur donne l'impression que quelque chose est modifiable par l'utilisateur et est ouvert au changement sur un coup de tête. Ni l'un ni l'autre n'est vrai. Ce champ n'est pas modifiable par l'utilisateur et est généralement utilisé pour contenir l'objectif d'un compte (pour les comptes système ou de service) ou le nom complet de l'utilisateur et d'autres informations.

[ Vous pourriez également apprécier :Gérer les utilisateurs Linux avec la commande passwd ]

Si vous regardez votre propre /etc/passwd fichier, le champ GECOS peut être vide, contenir le nom complet d'un utilisateur ou contenir le nom d'un démon ou la description d'un compte de service.

Regardez cet extrait de mon /etc/passwd fichier :

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin

Le champ GECOS est celui situé juste après le numéro de groupe et juste avant le shell de l'utilisateur, comme indiqué ci-dessous.

Beaucoup plus bas dans le /etc/passwd file est la liste de mon compte d'utilisateur. Comme vous pouvez le voir ci-dessous, le champ GECOS de mon compte utilisateur porte mon nom, Ken Hess , dedans.

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rngd:x:984:980:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
dovecot:x:97:97:Dovecot IMAP server:/usr/libexec/dovecot:/sbin/nologin
dovenull:x:983:979:Dovecot's unauthorized user:/usr/libexec/dovecot:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
bsmith:x:1000:1000:Bob Smith:/home/bsmith:/bin/bash
khess:x:1001:1001:Ken Hess:/home/khess:/bin/bash

Alors, quel est le grand mystère ? Bonne question. Et c'est là que cette histoire commence vraiment.

Histoire de GECOS

Je ne suis pas sûr à 100% qu'une seule personne se souvienne de toute l'histoire de la façon dont cela a commencé, mais voici ce que j'ai glané grâce à des recherches et à la lecture de certaines anciennes notes de classe UNIX. À l'âge sombre de l'informatique, il y avait quelque chose qui s'appelait le General Electric Comprehensive Operating System (GECOS). Je pense qu'à partir de cela seul, vous pouvez voir où cela mène, mais je continuerai quand même. Plus tard, GECOS est devenu General Comprehensive Operating System (GCOS). Les programmeurs UNIX utilisaient les systèmes GECOS / GCOS pour la mise en file d'attente d'impression et d'autres services. Le champ GECOS/GCOS a été ajouté au /etc/passwd UNIX pour indiquer le nom du service, puis est devenu plus tard l'accueil du nom complet d'un utilisateur, ainsi que d'autres informations facultatives.

Il est devenu pratique courante d'utiliser le champ GECOS pour les noms, les numéros de téléphone, les numéros de bâtiment et les adresses e-mail. N'oubliez pas qu'UNIX a commencé dans un laboratoire et que tout le monde était digne de confiance à l'époque, de sorte que les numéros de téléphone personnels et autres éléments d'information n'étaient pas aussi confidentiels qu'ils le sont maintenant. Chaque bit d'information dans ce champ a été séparé par des virgules pour ressembler à ce qui suit :

:Ken Hess, Bâtiment 300, 212-555-0000, 212-555-1234, [email protected] :

Certaines personnes pensent que parce que GECOS a cinq lettres et que le champ GECOS a cinq espaces réservés, chaque lettre représente en quelque sorte cette partie de l'information. Ce n'est pas le cas. C'est juste une coïncidence si GECOS et le champ ont tous les deux cinq places. J'ai également vu toutes sortes de théories sur ce que GECOS représente dans ces cinq endroits. Le champ GECOS est également le cinquième champ du /etc/passwd dossier. Toutes ces choses mènent à une conclusion :cela s'est produit au fil du temps et par nécessité, cela fonctionne et n'a pas été modifié. Et c'est cool avec moi. Une rose sous un autre nom, n'est-ce pas ?

GECOS aujourd'hui

Sur certaines distributions Linux, le adduser command est un lien symbolique vers useradd . Cependant, ce n'est pas vrai sur d'autres distributions. Sur ces distributions, le adduser La commande est en fait un script Perl qui vous guide dans la création d'un nouveau compte utilisateur. Voir ci-dessous pour les détails intéressants de l'exécution de ce script. J'ai porté cet adduser script à mon système en toute simplicité. Restez à l'écoute de Enable Sysadmin pour un article décrivant comment j'ai fait cela.

# adduser jhill
Adding user `jhill' ...
Adding new group `jhill' (1003) ...
Adding new user `jhill' (1003) with group `jhill' ...
Creating home directory `/home/jhill' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for jhill
Enter the new value, or press ENTER for the default
	Full Name []: Jill Hill
	Room Number []: 828
	Work Phone []: 212-555-0000
	Home Phone []: 212-555-3456
	Other []: [email protected]
Is the information correct? [Y/n] Y

Voyez-vous où cette commande vous demande les informations GECOS ?

Vérification du /etc/passwd fichier confirme le champ GECOS.

jhill:x:1003:1003:Jill Hill,828,212-555-0000,212-555-3456,[email protected]:/home/jhill:/bin/bash

Toutes les informations de Jill ont été insérées dans le /etc/passwd champ GECOS du fichier. Étant un script Perl, vous pouvez personnaliser ces invites pour les lire comme vous le souhaitez. Je vais modifier le mien pour interroger l'adresse e-mail plutôt que des informations aléatoires sous Autre invite.

[ Vous voulez tester vos compétences d'administrateur système ? Faites une évaluation des compétences aujourd'hui. ]

Récapitulez

Se référant au champ GECOS simplement comme le Commentaire de l'utilisateur le champ est partiellement exact mais je préfère le considérer comme les Informations sur l'utilisateur domaine. Mais, quelle que soit la façon dont vous ou moi nous y référons, il est destiné à contenir une description du propriétaire ou de l'objectif du compte.


Linux
  1. Linux – Fusionner /usr/bin et /usr/sbin dans /bin (gnu/linux) ?

  2. Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

  3. Comment savoir si j'utilise systemd sous Linux ?

  4. Linux :Différence entre /dev/console , /dev/tty et /dev/tty0

  5. Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?

Commande Linux Cut avec des exemples pratiques

Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

Linux – /sbin/init n'existe pas ?

Quelle est la différence entre /bin/false et /sbin/nologin en tant que shell de l'utilisateur nologin

Installer les binaires dans /bin, /sbin, /usr/bin et /usr/sbin, interactions avec --prefix et DESTDIR

Quelle est la signification de /usr/sbin, /usr/local/sbin et /usr/local/bin ?