我对 /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
使用vigr
和vigr -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