との差 !対!! vs * / etc / shadow


38

Linux /etc/shadowファイルの2番目のフィールドはパスワードを表します。しかし、私たちが見たことはそれです:

  1. 一部のパスワードフィールドには感嘆符が1つ含まれている場合があります

    <account>:!:.....
    
  2. 一部のパスワードフィールドには二重感嘆符が付いている場合があります

    <account>:!!:.....
    
  3. 一部のパスワードフィールドにはアスタリスク記号が付いている場合があります

    <account>:*:.....
    

インターネットに関するいくつかの調査とこのスレッドを通じて、*パスワードが確立されないこと、!ロックされることを意味することがわかります。

二重感嘆符(!!)の意味を誰かが説明できますか?そして、それは(!)とどう違うのですか?


どのディストリビューションを使用していますか?
ムル

こんにちはMuru、Unixのに新しいですし、RHEL 6.6およびHP-UX B.11.23上で実行するスクリプトを作成しようとしている
JavaTec

3
「慣例により、ログインすることを意図していないアカウント(bin、daemon、sshdなど)には、パスワードフィールドに単一のアスタリスクのみが含まれています。「*」については特別なことはありません。有効な暗号化パスワードでは発生しません(crypt(3)を参照)。- passwdのためのOpenBSDのmanページ(5) 。期待します!または!! 技術的には、有効なpasswdファイルであるかどうか、またはログインに関しては違いはありません。ただし、一部のツールには特別なサポートがあります。
TOOGAM

1
これの参照としてBSDのドコを使用しないでください。アカウントデータベースは物事を異なる方法で処理し、/etc/shadowファイルさえ持っていません。 コメントにも回答を入れないでください。☺
JdeBP

回答:


31

両方 "!" そして「!!」パスワードフィールドに存在するということは、アカウントがロックされていることを意味します。

次のドキュメントで読むことができるように、「!!」シャドウのアカウントエントリで、ユーザーのアカウントが作成されたが、まだパスワードが与えられていないことを意味します。sysadminから初期パスワードが与えられるまで、デフォルトでロックされます。

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/System_Administration_Guide/s2-redhat-c​​onfig-users-process.html


4
これは、Red Hatシステムでは正しいかもしれませんが、必ずしも他の場所ではありません。UbuntuまたはArch Linuxでは、パスワードなしで新しく作成されたアカウントにはまだが!ありません!!
ムル

2
確かに、「!!」を見たことがないというのは本当です。Debianシステムで。OPはRHベースのシステム、つまりSuSEを使用していると思います。
ルイFリベイロ

早速の回答ありがとうございます。上記の説明はRuiによって提供されますか?hp-uxにも同様に役立ちますか?
JavaTec

4
@JavaTec必ずしもというわけではありません:を持つすべての大学/etc/shadowは同じフィールドを持っていると思いますが、パスワードフィールドが非パスワード情報を格納する方法はさまざまです。shadowマニュアルページから始めて、HP-UXのドキュメントを確認してください。
ジル「SO-悪であるのをやめる」

1
HP-UXは/etc/shadow比較的最近までありませんでした。HP-UX11.11より前は、オプションは/etc/passwd各ユーザーのパスワードハッシュおよびその他のアカウント情報を、/tcb/files/auth/<initial>/<username>rootのみが読み取り可能な個々のファイルに保存するクラシックシャドウレスまたは「Trusted Computing Base」です。HP-UX 11.11ではオプションのエクストラ/etc/shadowとして導入されましたが、11.23ではベースOSのオプションでしたが、11.31ではTCBは最終的に廃止されました。
telcoM

10

<account>::.....パスワードが必要ない(空のパスワード)ことを意味することも注目に値します。

sshのみのユーザーを作成する場合<account>::0:0:99999:7:::、最初のログイン時にユーザーにパスワードの設定(sudoに使用する)を要求するために使用できます。


8
これに注意してください。空のフィールドはパスワードがないことを意味し、少なくともコンソールでは、Enterキーを押すだけでログインできます。
ルイFリベイロ

man shadow暗号化されたパスワードフィールドについて:「このフィールドは空になることがあり、何のパスワードが指定されたログイン名として認証する必要はありません、その場合には」<-このフィールドを空のままにすると、アカウントが開かれます。これは実際に回避する必要があります。
Laas

多くのSSH実装は、デフォルトでnullパスワードのアカウントでのログインをブロックすることに注意してください。sudo /usr/sbin/sshd -T| grep empty戻り値:「permitemptypasswords no」
Brian Huntley
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.