更改 /etc/passwd 文件后应该运行什么命令

更改 /etc/passwd 文件后应该运行什么命令

我对 /etc/passwd 文件进行了一些更改,现在我想看看更改是否发生了效果。我应该为此运行什么命令。

例如,在更改 /etc/ssh/ssh_config 文件后,我运行 /etc/init.d/sshd 命令。

答案1

要验证passwd相应的shadow文件,请使用pwck.要验证group相应的gshadow文件,请使用grpck.有关它们执行的操作的详细信息,请参阅联机帮助页。

/etc/passwd最好对文件进行手动编辑(如果vipw有的vipw -s话)shadow。对于/etc/group和分别/etc/gshadow使用vigrvigr -s。使用这些工具不仅可以提供锁定来防止多个并发用户更新,还可以提供有效性检查。

一般来说,最好使用标准user(add|mod|del)group(add|mod|del)工具来修改密码和组文件。

答案2

没有这样的命令来应用 /etc/passwd 文件中的更改。

如果您更改了详细信息的用户已登录,则只需重新登录即可应用更改。如果没有,它们将在登录后立即可用。

这是因为登录在登录期间从 passwd 文件中读取详细信息并将其保留在内存中直到注销。

答案3

update-passwd在基于 Debian 的系统(例如 Ubuntu)上手动编辑 /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

相关内容