それはどういう意味ですか! /etc/passwdのユーザー名フィールドの前に?

それはどういう意味ですか! /etc/passwdのユーザー名フィールドの前に?

Googleを試しても理由が​​見つかりません/etc/passwd

!行の先頭に a を表示します。

次のようになります。

!user:x:0:0:user:/home/user:/bin/bash

どんなアイデアがありますか?私の唯一の推測は、ユーザーがもう存在しないということです。

答え1

これはデフォルトでユーザー名をに変更するため、!userログインしようとすると次の結果がuser得られます。

No passwd entry for user 'user'

ユーザー名がに変更されたためです!user

これで/etc/shadow、ユーザー名も変更して設定すると、同じパスワードを使用してユーザーとしてログインできます!user!useruser

ユーザーがパスワードでログインしないようにするには、!パスワードフィールドにパスワードを追加するか、コマンドを使用することをお勧めします。/etc/shadowpasswd -l

答え2

~からウィキペディア:

「!」 - アカウントはパスワードでロックされており、ユーザーはパスワード確認でログインできませんが、他の方法(SSHキーなど)はまだ許可されています。

さらに、inの位置(コロン)によって!inの意味も変わることができるようです。/etc/passwdこのリンクから!次のように、パスワードフィールドにサンプルエントリを提供します。

root:!:0:0::/:/usr/bin/ksh
daemon:!:1:1::/etc:
bin:!:2:2::/bin:

彼らは説明した

ユーザーIDにパスワードがある場合、パスワードフィールドに!(感嘆符)が表示されます。

答え3

/etc/passwdアイテムがファイルにまだ存在するという事実は、ユーザーがまだ存在することを意味します。私が知っている1行の先頭に「!」を入れることは標準的な手順ではありませんが、そのユーザーのログインを無効にする効果があります。

関連情報