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.