ttyログインのタイムアウトを変更する-ArchLinux


10

デフォルトでは、ttyでArch linuxボックスにログインすると、ユーザー名を入力した後、パスワードを入力する前にタイムアウトが発生します。

だからこのようになります

Login:  mylogin <enter>
Password:
(+ 60 seconds)
Login:

ご覧のとおり、パスワードを入力しないと、プロンプトが再利用されます。ログインプロンプトを再利用するのではなく、パスワードを無期限に待機させます。

これは可能ですか?

それが私が望むものになる--timeoutオプションのようagettyです。ただし、このフラグをgettyファイルに追加し/usr/lib/systemd/system/(オプションはデフォルトでは使用されません)、再起動しました-効果がないようです。

回答:


11

agettyloginユーザー名を読み取った後に呼び出されるため、パスワードの読み取り時のタイムアウトはによって行われloginます。

これを変更/etc/login.defsするには、LOGIN_TIMEOUT値を編集して変更します。

#
# Max time in seconds for login
#
LOGIN_TIMEOUT       60

2
どのようにしてそれを無限に持続させますか?
Will Dereham、

3
@AnEpicPerson私の知る限り、ドキュメントには記載されていませんが#define ALARM 60、とのコードを調べていますtimeout = getdef_unum ("LOGIN_TIMEOUT", ALARM); if (timeout > 0) { (void) alarm (timeout); }。そのためLOGIN_TIMEOUT 0、login.defsを設定すると、タイムアウトが無効になります。
Mark Plotnick 2017年

2
  1. Archでは、プログラムはデフォルトでをインストールし/usr/libます。あなたはそこに手動でいじってはいけません(ほとんど常に)。間違いなくsystemdsystemdは、理由によりデフォルトのユニットを上書きします(「ユニットロードパス」セクションを参照)。

  2. これの一部はセキュリティの問題です。タイムアウトは過失をチェックします(たとえば、パスワード全体を入力したが、Enterキーを押すのを忘れて何かに気を取られている)。ここで無効にすることは、最も安全な決定ではないことに注意してください。

  3. ユニットを編集またはオーバーライドする場合systemctl daemon-reload、systemdが変更を完全に認識するために実行する必要があります。で新しいユニットを作成した後/etc/systemd/、あなたがする必要があり、daemon-reloadその後、disableデフォルトの単位とenableあなたの新しいユニット。次に、再起動すると、必要な結果が得られます。(:そうしないことをお勧めします。ポイント2を参照してください。)


1
あなたのポイントについて2.-これを行うことの実用的なインポートは、私の4歳の子供が妨害される前に彼女の9文字のパスワードを何とか入力できるようにするためです。あなたの答え全体を再確認してください。私の質問に対する解決策を私に与えるためにあなたの心の中でそれを見つけてください。
g33kz0r

私はあなたが実際に--timeoutオプションを使用して正しい方向に進んでいると思っていましたが、さらに調べてみると(つまり、agettyのmanページ)、--timeoutオプションはパスワードではなくユーザー名の入力を指すようです。
HalosGhost

@HalosGhost投稿を編集するときにコマンドの前に「$」を付ける必要はありません。それは無駄であり、カットアンドペーストがより困難になります。コマンドと出力が1つのブロックに混在している場合にのみ行う
Zelda

1
@ゼルダ、なぜあなたがそれをここに投稿したのか実際にはわかりません。しかし、私はそれを覚えておきます。
HalosGhost 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.