跨发行版创建服务用户和组的方式?

跨发行版创建服务用户和组的方式?

在 Debian/Ubuntu 系统上,我可以使用以下行创建名为“dv”的用户和组,仅用于守护程序服务 (systemd)。没有 SSH 登录、没有密码、没有主目录等:

adduser --system --no-create-home --group dv

我意识到这不适用于 Suse 和 RedHat/CentOS 发行版(以及更多)。由于这应该是一个有助于安装的 bash 脚本,因此我需要以跨发行版的方式执行上述操作。我找到用户添加命令在所有这些发行版上都可用。但如何让所有这些都得到相同的结果呢?

有没有通用的调用方式用户添加获得与上述相同的效果添加用户命令?或者我是否需要一些 if/then/else 结构来支持它们?也许某处已经有一些工作示例?

答案1

简短的回答 - 不是真的,但有可能性。

像这样的低级命令通常是特定于发行版的。没有专门以跨平台方式调用useradd(或adduser) 的通用方法,但有可能使用 Ansible playbook 创建将用户添加到给定发行版的通用方法。您必须确保运行 Ansible playbook 的先决条件在您正在使用的发行版上可用,但在大多数情况下,如果没有包含在默认安装中,那么这应该是微不足道的。

相关内容