10 votes

lorsque vous vous connectez au Shell, quel programme gère l'évaluation des informations d'identification ?

Lorsque vous démarrez pour la première fois, et que vous êtes accueilli par la lueur chaude d'un écran noir et d'une invite clignotante, quel est ce programme ? Quel programme s'occupe de l'évaluation des informations d'identification ? Ou plutôt, de quel composant du code source s'agit-il ? Je me trompe peut-être, mais je pense que les différents shells utilisateur sont chargés après l'authentification de l'utilisateur.

... ce qui pourrait signifier que bash est lancé en mode mono-utilisateur, puis bash vérifie les informations d'identification et lance un Shell utilisateur ? (Je pense que c'est ainsi que cela fonctionne)

(Je suis intéressé par l'ajout d'une fonctionnalité au processus de vérification des références, mais je regarde le code source de bash, et je ne sais pas par où commencer. )

10voto

steeldriver Points 118154

Je n'ai moi-même qu'une compréhension rudimentaire de la question, mais je vais poster ceci pour vous aider à démarrer :

Premièrement, vous ne vous connectez pas à un Shell, vous vous connectez à un terminal (virtuel).

  • a getty ouvre un port tty, demande un nom de connexion et invoque un programme de connexion ( /bin/login par défaut - bien que l'option agetty peut être configuré pour utiliser un programme de connexion non standard)

  • le programme de connexion effectue l'authentification et la configuration de la session, notamment en initialisant l'environnement et en invoquant le Shell de l'utilisateur.

Dans les systèmes Ubuntu actuels, getty est géré comme un service systemd (ex. getty@tty1.service pour le terminal virtuel tty1), et login utilise le sous-système Pluggable Authentication Modules (PAM) pour l'authentification - en particulier, le module pam_unix est "pour l'authentification traditionnelle par mot de passe".

Pour votre objectif déclaré ( "ajout d'une fonctionnalité au processus de vérification des accréditations" ), vous devriez probablement envisager d'implémenter un module PAM personnalisé, et de l'insérer à un endroit approprié de la pile PAM ; un modèle pour cela est décrit ici :

Voir aussi :

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X