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