私の知る限り、/ etc/shadowの2番目のフィールドはユーザーの暗号化されたパスワードです。しかし、一部のユーザー、例えばdaemon
ユーザーは*
フィールドで、私の環境で(Ubuntu 12.04)root
have !
現場で。
私が想定し !
は、「すべてのパスワードが無効です。このユーザーではログインできません。」のような意味です。しかし、そのためのドキュメントが見つかりませんでした。
どういう意味 *
および!
シャドウファイルにありますか?
「!」そして「!!」本質的に同じことを意味しますが、異なるツールはどちらか一方を使用します。たとえば、passwd -l
は一対の感嘆符を使用します。一方、usermod -L
は1つだけを使用します。
通常、「*」の付いたアカウントにはパスワードが設定されていません(同様に、常にログインが無効になっています)。これは、パスワードハッシュエントリがまったくないアカウントとは異なります。この場合、パスワードは不要であり(多くの場合、プロンプトも表示されません)、ほとんどの場合、BADです。
ハッシュが無効な場合(「*」、「!」、「!!」はすべてハッシュです)、アカウントを効果的にロックし、そのアカウントへのログインを禁止します。多くの場合、これは/ etc/passwdファイルでアカウントのシェルを/ bin/falseまたは/ sbin/nologinのようなものに設定することでさらに促進されます
以前に有効なパスワードを設定した後でユーザーのアカウントがロックされている場合、そのパスワードハッシュの前に感嘆符が付いていることがよくあります。これにより、アカウントがロック解除されると、パスワードが再び機能し始めます。