/etc/shadowの*LK*と/etc/passwdの/usr/sbin/nologonの違い

/etc/shadowの*LK*と/etc/passwdの/usr/sbin/nologonの違い

*LK*set in/etc/shadowとset in/usr/sbin/nologonの実質的な違いは何ですか/etc/passwd

私たちはいつ他のものより1つを選びますか?いつ結合しますか?

ベストアンサー1

*LK*ブロックされるパスワードハッシュフィールドなど、有効なパスワードハッシュ以外の値を設定した場合/etc/shadowあらゆる形態のパスワードを確認するただし、ユーザーが他の認証メカニズム(指紋やSSHキーなど)を構成している場合彼らはまだ働くでしょう

この中で特殊なケースとして、passwd -l <username>既存のハッシュに感嘆符の接頭辞が追加されるため、undo の使い方が簡単ですpasswd -u <username>*LK*たとえば、アカウントが特別な権限を持たず、接続されていないコンテキストで一部のシステムサービスを実行するために使用されるため、ユーザーアカウントが認証用ではないことを示すために他の無効な値を使用できます。特定のユーザー。

引用するman 5 shadow

たとえば、パスワードフィールドにcrypt(3)の有効な結果ではない一部の文字列が含まれているとします。または*を使用すると、ユーザーはunixパスワードを使用してログインできません(ただし、ユーザーは他の方法でシステムにログインできます)。

同様に、最新のディストリビューションでは、オプション(ロックパスワード)にman passwd次の注意事項が含まれています。-l

これによりアカウントは無効になりません。ユーザーは他の認証トークン(SSHキーなど)を使用してログインできます。アカウントを無効にするには、管理者はusermod --expiredate 1を使用する必要があります(これにより、アカウントの有効期限は1970年1月2日に設定されます)。

(Aaron D. Marascoは、ログインとあらゆる種類の認証を無効にすることをお勧めします。かつては正しいです。ただし、過去10年間でセマンティクスが変更され、パスワード認証を無効にする統一された方法がありますが、まだ他の形式の認証にアカウントを使用できます。これは過去に多くの人々を誤解させました。古い情報を含む多くの書籍やその他の文書があります。 )

ユーザーのシェルを非対話型シェルに設定または/bin/false無効に/usr/sbin/nologinします。シェルアクセスただし、ユーザーアカウントをパスワード認証で別の方法で使用できる場合(例:IMAP EメールアクセスまたはFTPファイル転送)まだ動作できます。

簡単に言うと:

  • すべての形式の認証がログインしたり、古いシステムと新しいシステムでユーザーアカウントを使用するのを防ぐには、次のようにします。usermod -e 1 <username>
  • シェルアクセスを無効にし、他のサービスを許可するには、ユーザーのシェルを、または/usr/sbin/nologin同様/bin/falseの非対話型設定に設定します。
  • パスワード認証を無効にして他の認証方法が機能するようにするには、またはpasswd -l <username>別の方法を使用してパスワードハッシュを無効な値に設定します。
  • 極端な偏見のためにこのユーザーアカウントが意図的に無効になったことを他のシステム管理者に知らせるには、上記のすべてを適用してください。 :-)

おすすめ記事