usermod -Lとpasswd -lの違い

usermod -Lとpasswd -lの違い

~からman passwd

-l, --lock
          This option is used to lock the password of specified account
          and it is available to root only. The locking is performed by rendering
          the encrypted password into an  invalid  string  (by
          prefixing  the  encrypted string with an !). Note that the
          account is not fully locked - the user can still log in by other means
          of authentication such as the ssh public key authentication.
          Use chage -E 0 user command instead for full account locking.

~からman usermod

-L, --lock
       Lock a user's password. This puts a '!' in front of the
       encrypted password, effectively disabling the password. 
       You can't use this option with -p or -U.

どちらのオプションも、!シャドウファイルのパスワードの先頭にaを配置します。

usermod他の種類の認証も同じことをする必要がある場合は、ロックされていないことを警告するのはどうですか?

これら 2 つのオプションのうち、アカウントをロックする際に考慮すべきその他の事項はありますか?

ベストアンサー1

usermodDebianシステムのマニュアルページとman7.org私のDebianシステムのマニュアルページには、同じ効果に関する警告が含まれています。

-L--lock
ユーザーのパスワードをロックします。 ...
注:アカウントをロックするには(パスワードアクセスだけでなく)、EXPIRE_DATEも1に設定する必要があります。

一部のシステムでは、そうしないと、すべての文書が完璧ではないことを示しているようです。少なくともあなたが引用したテキストには、「[the]ユーザーのパスワードなので、詳しく読むと、まだいくつかの制限があることがわかります。


私はいません。考える考慮すべきその他の事項がたくさんあります。どちらのツールも同じことを行い、パスワード(およびパスワードのみ)を無効にします。パスワードを使用していないすべて(su権限を持つユーザーが使用する、sudo設定によって異なる、cronSSHキー...)は、まだパスワードでロックされているユーザーとして操作を実行できます。

マニュアルページに記載されているように、passwdアカウントの有効期限はより広範なブロックとして機能します。認証がPAMを通過しなくても、通常呼び出されるPAMセッションモジュールで有効期限が切れているかどうかを確認するようです。

(「通常」、権限のあるプログラムは、アカウントの有効期限に関係なくユーザーIDを変更できるため、プログラムされている場合にのみ可能ですが、少なくともPAMセッションが開始され、有効期限が確認さcronsshdます。)


それにもかかわらず、ユーザーアカウントのロックを開始すると、ロックが期待どおりに機能するかどうかをテストするのも悪くはありません(テストアカウントを使用)。これは本当に穴を残したくない状況の1つかもしれないからです。

おすすめ記事