
今日の会議内容:
x@yz:~$ shutdown now
User nobody is logged in on ???.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl poweroff -i'.
いつも使ってきましたが、shutdown now
こんなことを見たことがありません。これは何ですか?nobody
問題がありますか???
?私は私のシステムの唯一のユーザーであり、nobody
システムを台無しにしたことはありません。
編集(コメント基準):
x@yz:~$ ps -aux | grep nobody
nobody 2666 0.0 0.0 45408 132 ? Ss May 09 0:00 /lib/systemd/systemd --user
nobody 2667 0.0 0.0 163956 8 ? S May 09 0:00 (sd-pam)
x 11189 0.0 0.0 24480 1004 pts/0 S+ 02:50 0:00 grep --color=auto nobody
x@yz:~$ ps -U 65534
PID TTY TIME CMD
2666 ? 00:00:00 systemd
2667 ? 00:00:00 (sd-pam)
答え1
これらすべてを明確にするために: -
1. システムにユーザーが誰もいない場合、どのようにユーザーが入ることができますか?
誰も、ユーザーは多くのLinuxとUnixのディストリビューションで新しくインストールするときにデフォルトで作成される疑似ユーザーです。
2. 誰もいないユーザーは誰ですか?
」誰も「ユーザーはシステムに対して最小限の権限を持っています。ファイルを所有せず、権限を持つグループに属することも、他のユーザーが所有する能力以外の能力もありません。誰もユーザーにシェルを割り当てません。
~$ sudo grep nobody /etc/passwd
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
3. none ユーザーの目的は何ですか?
初期の Unix および Linux ディストリビューションでは、システムの残りの部分への損傷を制限するためにデーモン (Web サーバーなど) を無人ユーザーとして実行することが一般的であったため、悪意のあるユーザーがそのようなデーモンに対する制御を取得した場合、ファイルまたは権限ありません。アクセスできます。
しかし、問題は、誰もユーザーとして実行されないデーモンが複数ある場合、これはもはや意味がないということです。これが今日、これらのデーモンが独自のユーザーを持つ理由です。
4. 無人ユーザーはどのようにシステムにログインしますか?
どちらのユーザーも実行していない一部のサービス/デーモンを実行している可能性があります。サービスの例には、httpd、nfs、postfixなどがあります。
5. システムで無人ユーザーとして実行される 2 つのプロセスは何ですか?
- systemd - ユーザーが初めてログインしたときに起動されたインスタンス(あなたの場合は無人ユーザー)
- (もしpam_systemd有効)systemdは、「systemd-user」サービス名を使用して、ユーザーのPAMセッションを開くサブプロセス「(sd-pam)」を開始します。
6. none ユーザーとして実行されるサービスが実行されなくなっても、プロセス (systemd と sd-pam) がまだ存在するのはなぜですか。
まあ、これはバグとして報告されました。
Systemd-userがPAMセッションを正しく閉じていません。
sd-pam サブプロセスが pam_open_session() 後に権限を削除するため、Systemd は pam セッションを正しく閉じることができません。したがって、pam_close_session()はrootではなくユーザーとして実行され、セッションをクリーンアップするために特権タスクを実行する必要があるPAMモジュールを中断します。
これに関する追加情報:
https://github.com/systemd/systemd/issues/8598
https://github.com/systemd/systemd/issues/1350
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803907;msg=5