実際にログインがどのように機能するかを知りたいです。 ldap を使用するようにログインを設定したり、引き続き使用したりできるため、確かにカーネルの一部ではありませんが、カーネル/etc/passwd
は確実にその情報を使用して認証および許可アクティビティを実行できます。
完全なログインメカニズムを起動するように見えるlogindというシステムデーモンもあります。
私が見ることができるデザイン文書はありますか?それとも誰かがここで説明できますか?
答え1
バイナリはlogin
(原則として)非常に簡単です。これはユーザーとして実行されるプログラムです(root
最初のユーザースペースプロセスから始まり、Xディスプレイマネージャを介して間接的に起動されます)。ログインしたユーザーを認証し、成功したらユーザーを変更し(一連のシステムコールの1つを使用して)、適切な環境変数、umaskなど、およびsaログインシェルを設定します。getty
init
setuid()
exec()
ソースコードを読むことは役に立つかもしれませんが、もしそうなら、少なくとも操作に慣れるまで設定せずに(Debianインストールのための標準ログインを想定して)shadow-utils
読むことUSE_PAM
答え2
このウェブサイト始めるのにとても良い場所のようです。 PAMについて説明します/etc/passwd
。私は実際にPAMの説明を探していると思います。特定の目的のために達成したいことがある場合は、質問を編集して達成したいことを教えてください。