我有一个用户是我通过pw工具在FreeBSD上创建的。我使用的全部命令是:
pw add user example -s /usr/local/scripts/example.sh -w none用户可以作为示例登录,而不需要运行示例脚本的密码。完成脚本运行后,用户将自动注销。
我想复制这个用户,但我正在研究一种不需要实用程序的方法。例如,我研究了修改/etc/passwd文件,但它看起来不起作用。我说它不起作用的原因是因为它提示我输入密码,当然,对于我试图添加的这个用户,我没有密码。
我想要的是什么可能吗?我一定要使用像pw这样的实用程序吗?
只是简单的编辑一下。也许我所缺少的唯一的东西就是将用户设置为不需要密码。我对/etc/passwd的编辑可能是正确的,我所需要的只是以某种方式将这个新用户设置为不需要密码。
发布于 2015-12-10 16:34:00
您正在编辑错误的文件,并且没有实际修改系统帐户数据库,这就是为什么您没有看到任何修改。
这不是Linux。帐户数据库的主源文件是/etc/master.passwd。/etc/passwd是一个版本7的Unix兼容性文件,它是从源生成的从属文件。希望查找内容的应用程序查阅的实际系统帐户数据库是一对伯克利DB文件,也是由pwd_mkdb源文件生成的。
vipw自动运行pwd_mkdb。如果您手动编辑/etc/master.passwd,您必须(小心)自己运行pwd_mkdb。
如果您手动编辑/etc/passwd,您的更改将在下一次运行pwd_mkdb时丢失,并且不会被应用程序看到。
发布于 2015-12-10 16:05:43
如果要编辑护照(5)文件,请使用vipw(8)。文件/etc/passwd只是一个影子文件。
要将密码设置为空,只需删除第二个参数(两个:字符之间)。例如,如果root有一个空密码,vipw会向您展示如下内容:
root::0:0::0:0:Charlie &:/root:/bin/csh真实的用户名和密码数据库位于/etc/pwd.db中。有关更多详细信息,请参阅压水堆_mkdb(8)。
https://unix.stackexchange.com/questions/248591
复制相似问题