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