/ etc/passwdファイルにいくつかの変更を加えましたが、変更の影響が発生したかどうかを確認したいと思いました。そのためにどのコマンドを実行する必要がありますか。
たとえば、/ etc/ssh/ssh_configファイルに変更を加えた後、/ etc/init.d/sshdコマンドを実行します。
passwd
および対応するshadow
ファイルを確認するには、pwck
を使用します。 group
および対応するgshadow
ファイルを確認するには、grpck
'を使用します。それらが実行するアクションの詳細については、マンページを参照してください。
_/etc/passwd
_の手動編集は、(もしあれば)vipw
ファイルのshadow
および_vipw -s
_で行うのが最善です。 _/etc/group
_および_/etc/gshadow
_の場合は、それぞれvigr
および_vigr -s
_を使用します。これらのツールを使用すると、複数の同時ユーザー更新を防ぐためのロックだけでなく、有効性チェックも提供されます。
一般に、パスワードおよびグループファイルの変更は、標準のuser(add|mod|del)
およびgroup(add|mod|del)
ツールを使用して行うのが最適です。
/ etc/passwdファイルからの変更を適用するコマンドはありません。
詳細を変更したユーザーがログインしている場合は、再ログインして変更を適用するだけです。そうでない場合は、ログイン後すぐに利用できます。
これは、ログイン時にログイン中にpasswdファイルから詳細が読み取られ、ログアウトするまでメモリに保持されるためです。
Debianベースのシステム(Ubuntuなど)で/ etc/passwdファイルを手動で編集した後、update-passwd
コマンドで成功しました。これはこのコマンドの使用目的ではありませんが、この目的でも機能します。詳細については、manページを参照してください: http://manpages.ubuntu.com/manpages/precise/man8/update-passwd.8.html
Red Hat/CentOSベースのシステムでは、同等のコマンドが見つかりませんでした。これらのシステムでは、システムを再起動して変更を有効にする必要がありました。
誰かがすでに述べたように、/ etc/passwdファイルを手動で編集しないことが最善です。代わりに、可能な限りuseradd/userdel/usermodコマンドを使用します。/etc/passwdおよび/ etc/groupファイルIMOを編集する唯一の有効な理由は、別のシステムから多くのアカウントをコピーする必要がある場合です。追加した後この方法で100アカウントを使用すると、通常はシステム全体を再起動します。また、/ etc/passwdファイルや/ etc/groupsファイルを手動で編集する場合は、適切なシャドウファイルも編集することを忘れないでください。
そもそもそのようなコマンドは必要ないと思います。また、そのファイルを直接編集することはお勧めしません。代わりに、useraddやpasswdなどの適切なコマンドを使用してください。
確信が持てない場合は、そのファイルの編集後に再起動するだけで、すべての変更が有効になります
/etc/passwd
を手動で変更しないでください。代わりにusermod
を使用してください
例えば:
ユーザーのホームディレクトリを変更する場合は、次のコマンドを使用します。
usermod --home /path/to/home/dir username