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


12

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

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

Answers:


19

要验证passwd和相应的shadow文件,请使用pwck。要验证group和相应的gshadow文件,请使用grpck'。有关其执行的操作的详细信息,请参见手册页。

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

通常,最好使用标准user(add|mod|del)group(add|mod|del)工具对密码和组文件进行修改。


7

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

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

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


2
在Linux上 “……没有这样的命令……” 。许多其他* ix确实具有此类命令。该passed文件要么被编译为二进制格式,以使其处理起来更快,要么仅出于兼容性目的而保留,并且必须将数据转换为操作系统的本机密码DB格式。
沃伦·杨

2

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命令。编辑IMO的/ etc / passwd和/ etc / group文件的唯一有效理由是当我需要从另一个系统复制大量帐户时。以这种方式添加例如100个帐户后,我通常会重新启动整个系统。同样,当您手动编辑/ etc / passwd和/或/ etc / groups文件时,您一定不要忘记编辑适当的影子文件。


1

我不认为有这样的命令,因为它一开始就没有必要,也不建议直接编辑该文件,而要使用诸如useradd和passwd之类的适当命令

如果您不满意,则在编辑该文件后重新启动,所有更改将生效


0

您不应该/etc/passwd手动修改;用usermod代替

例如:

如果要更改用户主目录,请使用以下命令:

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

1
有时有必要手动编辑文件,但是vipw应该使用它。
库沙兰丹

得到了@Kusalananda
Sun
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.