/etc/passwdファイルを変更した後、どのコマンドを実行する必要がありますか?

/etc/passwdファイルを変更した後、どのコマンドを実行する必要がありますか?

/etc/passwd ファイルをいくつか変更したので、変更が適用されたことを確認したいと思います。このためにどのようなコマンドを実行する必要がありますか?

たとえば、/etc/ssh/ssh_config ファイルを変更した後、/etc/init.d/sshd コマンドを実行します。

答え1

passwdそのshadowファイルを確認するには、を使用しますpwck。そのファイルgroupが実行する操作の詳細については、マンページを参照してください。gshadowgrpck

/etc/passwdファイルを手動で編集するのが最善です(vipw可能であればvipw -sshadow。用と使用と/etc/groupそれぞれ。これらのツールは、複数の同時ユーザーの更新を防ぐためのロック機能を提供するだけでなく、検証も提供します。/etc/gshadowvigrvigr -s

通常、パスワードとグループファイルの変更には標準ツールをuser(add|mod|del)使用するのが最善です。group(add|mod|del)

答え2

/etc/passwd ファイルに変更を適用するコマンドはありません。

情報を変更したユーザーがすでにログインしている場合は、もう一度ログインして変更を適用できます。そうでない場合は、ログイン後すぐに使用できます。

これは、ログイン中にpasswdファイルの詳細を読み取ってログアウトするまでメモリに保存されるためです。

答え3

update-passwdUbuntuなどのDebianベースのシステムで/ etc / passwdファイルを手動で編集した後、このコマンドを正常に使用しました。私はこれがこのコマンドの意図された使用ではないことを知っていますが、この目的でも機能します。詳細については、該当するマニュアルページを参照してください。http://manpages.ubuntu.com/manpages/precise/man8/update-passwd.8.html

Red Hat / CentOSベースのシステムでそのコマンドが見つかりませんでした。変更を適用するにはシステムを再起動する必要がありました。

誰かがすでに述べたように、/etc/passwdファイルを手動で編集しないことをお勧めします。代わりに、可能な場合はいつでも useradd/userdel/usermod コマンドを使用してください。私の考えでは、/etc/passwdファイルと/etc/groupファイルを編集する唯一の有効な理由は、他のシステムから多数のアカウントをコピーする必要があるときです。このようにして100個のアカウントを追加したら、通常はシステム全体を再起動します。また、/etc/passwdファイルおよび/または/etc/groupsファイルを手動で編集する場合は、そのシャドウファイルを編集することを忘れないでください。

答え4

代わりに/etc/passwd手動で変更しないでください。usermod

たとえば、

ユーザーのホームディレクトリを変更するには、次のコマンドを使用します。

usermod --home /path/to/home/dir username

関連情報