FreeBSD 创建用户没有实用程序?

FreeBSD 创建用户没有实用程序?

pw我有一个通过FreeBSD 上的实用程序创建的用户。我使用的完整命令是:

pw add user example -s /usr/local/scripts/example.sh -w none

用户可以作为示例登录,无需密码,这将运行示例脚本。脚本运行完成后,用户将自动注销。

我想复制该用户,但我正在寻找一种无需实用程序即可完成此操作的方法。例如,我考虑修改该/etc/passwd文件,但看起来不起作用。我说它不起作用的原因是因为它提示我输入密码,当然我没有为我尝试添加的该用户设置密码。

我所追求的可能吗?我绝对必须使用诸如 之类的实用程序吗pw

只需快速编辑即可。也许我唯一缺少的就是将用户设置为不需要密码。我的编辑/etc/passwd可能是正确的,我所需要的只是以某种方式将这个新用户设置为不需要密码。

答案1

您编辑了错误的文件,并且实际上没有修改系统帐户数据库,这就是为什么您没有看到任何修改。

这不是Linux。大师源文件帐户数据库是/etc/master.passwd. /etc/passwd是版本 7 Unix 兼容文件,从源生成的从属文件。想要查找内容的应用程序所查询的实际系统帐户数据库是一对 Berkeley DB 文件,也是由pwd_mkdb.

vipw自动运行pwd_mkdb。如果您手动编辑/etc/master.passwd,则必须(小心)pwd_mkdb自己运行。

如果您手动编辑,/etc/passwd您的更改将在下次运行时丢失pwd_mkdb,并且无论如何都不会被应用程序看到。

答案2

如果您想编辑密码(5)文件,使用贵宾(8)。该文件/etc/passwd只是一个影子文件。

要将密码设置为空,只需删除第二个参数(两个:字符之间)即可。例如,如果root密码为空,vipw则会显示如下内容:

  root::0:0::0:0:Charlie &:/root:/bin/csh

真实的用户名和密码数据库位于/etc/pwd.db。看密码_mkdb(8)更多细节。

相关内容