Debianの不安定なコンテナを作成しdebootstrap
ますsystemd-nspawn.service
。
rootとしてログインできますが、machinectl login
同時に複数回ログインすることはできません。 2回目のログインを実行すると、パスワードを入力するとすぐに拒否されますroot
。
期待どおりにシステムログを見ると、pam_securetty
ttyが/dev/pts/2
「安全ではないため」アクセスが拒否されたというメッセージが表示されます。これはいくつかの質問を提起します。
- 最初のログインはどのように
/dev/pts/0
安全と見なされますか? /dev/pts/1
2回目のログイン時になぜ使用されないのですか?- デフォルトの/etc/securettyには、モデムに接続できるシリアルラインを含むすべてのタイプのttyがリストされているようです。疑似端末を除外する理由を想像できます。しかし、許すならみんな物理端末の種類、今回の実習のポイントは何ですか? ! rootでログインを許可しない一連の(短い)tty型では、これが機能しないのはなぜですか?デフォルトでは、ブロックする必要がある疑似端末に加えて、意図的にリストから省略された項目がありますか?意図的に行方不明になった場合はコメントしませんか?
質問1に答えることができます。言うまでもなく恐ろしい答えは、Debianstretch(9-testing, login-4.4-4
) の /etc/securetty に /dev/pts/0 と /dev/pts/1 が含まれていますが、/dev/pts/2 は含まれていないことです。これはサポートのために特別に追加されたものと推測できますsystemd-nspawn
。その一つは正しい。しかし、これはこれらの設定が何を達成するべきかについてもっと混乱しました!
答え1
これは設定が意味がないことを意味します。
明らかに、シリアルインストールをサポートするディストリビューションでは、最初のシリアルコンソールを許可できるようにしたいと思います。あなたの質問は、もともとDebian開発者がpam_securettyを有効にすると便利だと思いましたが、すべてのタイプのttyを許可するように設定した理由です。それでは、ディストリビューションがより簡単な設定を無効にするのは何ですか?
ポエタリングは答えを提案した:流通しなければならないsecurettyは古い分類システムを使用しているため、より簡単な設定を使用してください。
https://github.com/systemd/systemd/issues/852#issuecomment-127759667
tty 名前が静的だった時代から来ました。しかし、最近最も小さいttyは実際に古いマザーボードのシリアルポートです。これらのほとんどはUSB経由で接続されているか疑似ttyです。どちらにしても、その名前は /etc/securetty の意図ほど固定されていないため、概念全体は廃止されました。
したがって、デフォルトでpam_securettyを有効にして、配布に配送を停止するよう依頼してください。これは実際に過去のことです。また、/etc/pam.d/* のすべてのファイルから手動で削除するか、潜在的な現在および将来のすべての pty を /etc/securetty に追加します。
https://github.com/systemd/systemd/issues/852#issuecomment-128564307
すべてのttyへのrootログインを許可するには、コンテナから/ etc / securettyを単に削除するだけです。