私は読んでいます。アプエ引き続きプログラムを参照していlogin
ますが、私のOS(Ubuntu)では、このプログラムが何をしているのかまだわかりません。
§8.11:
通常、実際のユーザーIDは
login(1)
ログイン時にプログラムによって設定され、決して変更されません。login
スーパーユーザープロセスであるため、setuid呼び出し時に3つのユーザーIDをすべて設定します。
ps aux | grep login
:
root 840 0.0 0.0 70732 6120 ? Ss 15:13 0:00 /lib/systemd/systemd-logind
root 1120 0.0 0.0 419680 9468 ? Sl 15:13 0:00 gdm-session-worker [pam/gdm-autologin]
tianhe 1151 0.0 0.1 445184 20540 ? SLl 15:13 0:05 /usr/bin/gnome-keyring-daemon --daemonize --login
tianhe 10838 0.0 0.0 21536 1060 pts/0 S+ 21:50 0:00 grep --color=auto login
簡単に言えば、login
このプログラムはオペレーティングシステムにどのような機能を提供しますか?
どのような状況で使用または実行されますか?
login
ところでと比較するとどうでしょうかssh
?
答え1
インタラクティブに実行するコマンドではありません。
このlogin
コマンドは通常コマンドラインには入力されません。
-手動login
。 IBM AIX 7.2
かつてそうでした。このアプローチは1980年代に効果があり、Cシェルユーザーは外部プログラムに接続し、スーパーユーザーのUIDに設定されたそのプログラムでシェルプロセスを上書きするlogin
便利な組み込みコマンドも持っていました。exec
login
しかし、今日のオペレーティングシステムはもはや1980年代のBSDのようには機能しません。 ㅏログインセッションsetsenv
(しかし、これはそこで議論されているセッションタイプです。)プロセスが正しく起動するには、単方向トラップドア(ユーザーセキュリティコンテキスト、制御グループ、UID "taint"フラグの変更、AIXなど)が多すぎます。ランダムユーザー新規ログインセッションすでにここにユーザーログインセッション。
それにもかかわらず、1990年代のPAMの出現によりlogin
新しいプログラムによって上書きされるシェルプロセスは、もはや1980年代のようにツリーの最上位プロセスではありません。これはスーパーバイザプロセスのサブプロセスであり、PAMセッションの確立と解除を担当します。
これが「デーモン化」がエラーであり、login
既存のログインセッションで実行するのが実際に賢明ではない理由です。
システムプログラムです。
login
~と呼ばれる端末ログインサービス通常、サービスまたはサービス管理インフラストラクチャがいくつかの環境変数を設定した後、ターミナルデバイスを開き、ラインルールを初期化/プッシュし、それを制御ターミナルに設定し、いくつかの制御シーケンスでターミナルを初期化します。
- 1987年、AT&T Unix System 5リリース4では、これらのサービスは
ttymon
サービスアクセス機能の一部として管理されました。今日でも、OpenSolarisやIllumosやSchillixなどの派生製品でこれらのコンテンツを見ることができます。 - systemd Linuxオペレーティングシステムでは、これはサービスです(通常はサービスのエイリアス)。これは、宇宙のシステム5の面で注目すべき奇妙な現象であり、ほとんど誰も呼び出さない状況でもまだプログラムを使用して呼び出されます。
autovt@something
getty@something
getty
login
- オペレーティングシステムで使用Noshツールセットサービス管理の場合、これがサービスです。
ttylogin@something
- 宇宙のBSD側でnoshサービス管理が使用されていない場合、これらのサービスは表に従ってプロセス#1によって生成されたサービスです
/etc/ttys
。
仮想または物理端末にログインしている場合は、login
対話型ログインシェルを呼び出す前にパスワードとユーザー名を入力するように求められます。
login
SSH ログインには使用されません。未使用GUIログイン。どちらも動作が異なり、どちらも別のプログラムを使用します。 login
テキストユーザーインターフェースを介して端末と会話すると予想されます。
それはい以前はBerkeley rloginシステムで使用されていましたが、今は使用しないでください。いわゆるバークレー「r-」の順序に関するさらなる議論は、この回答の範囲をはるかに超えています。それで私は仕事が1980年代と同じように進まないと言いたいと思います。
追加読書
- ジョナサン・デ・ボーインポラード。 」端末」。スナックガイド。ソフトウェア。
- ジョナサンデボインポラード(2018)。
getty
init
過去に生まれました。。よく与えられる答えです。 - https://unix.stackexchange.com/a/446619/5132
答え2
ウィンドウセッションにログインしている可能性があります。この場合、ディスプレイマネージャxdm
...gdm
はkdm
ユーザーにログインします。しかし、ログインする他の方法もあります。たとえば、(指示どおり)Web経由で使用できますssh
。ローカルにログインしてもWindowsシステムにログインしていない場合は、別のログイン手順が必要です。ログインが入る場所です。
を押してctrlaltf1ログインし、実行中のプロセスを確認します。ログイン状態を維持する理由