UNIX用户通常以著名的passwd文件格式管理.相应的文件通常驻留在/etc/passwd。
因为手工编辑这个文件非常不方便(主要是因为加密的密码),所以有一些工具可以编辑它,比如useradd (及其包装器adduser)和passwd,这使得编辑这些文件非常容易。
实际上,这种格式是非常实用的,因此系统用户并不是唯一保持这种格式的用户,但是其他服务,如dovecot,也提供了从这样一个文件中读取用户的功能。
您可能会认为这非常方便,因为您可以使用同一组工具来管理整个服务的用户。但是,上面提到的工具似乎是硬连接的,可以在/etc/passwd上工作(如果正在使用,也可以使用etc/shadow )。
现在,如果除了/etc/passwd之外,没有一种编辑passwd文件的方便方法,我会感到惊讶,但是我找不到。我如何在Debian /GNU系统上做到这一点?
我的具体问题是,我想要为dovecot创建一个密码文件,根据文档化的这里格式。最有问题的是把加密的密码放进去。
发布于 2015-11-16 20:41:27
实际上,编辑passwd和影子条目的官方程序是vipw。
网站的密码文件有htpasswd文件,这些文件具有简化的格式。如果您正在考虑其他类型的密码文件的示例。
除此之外,在我看来,唯一可能做类似于您提议的事情的选择是chroot / jails / VServers /containers。或者用不同的文件路径重新编译所需的实用程序。
最后,格式并不复杂,您可以为此编写脚本,尽管我确实建议在模拟文件中对它们进行预先测试。出错的可能性很大,这些文件对系统的完整性很重要。
关于最后一个问题,安装并使用命令makepasswd:
makepasswd --crypt-md5 --chars=10makepasswd除了可以生成随机密码外,还可以从明文密码中创建加密密码。
https://unix.stackexchange.com/questions/243403
复制相似问题