dav*_*vka 10 rpm users rhel software-installation
在努力搜索 RPM 最佳实践指南并发现几乎没有之后,令我惊讶的是,我求助于社区 -
我需要确保安装后存在一些用户和组,并且这些用户是组的成员。是否有推荐的程序?
在现有的 rpm 规范中,我看到在使用useradd
. 我听说这是一种常见的做法。为什么是这样?是否比使用 测试用户存在更好id -u
?
我们的一些客户可能想要自己管理他们的用户,所以他们会在运行我们的 rpm 之前创建用户。综上所述,似乎最好的方法是测试用户是否存在,如果不存在则创建它。对此有何评论?谢谢。
编辑:RHEL 5.7
小智 5
我意识到这是一个老问题,但我来这里试图找到如何在 rpm 规范文件中创建组。希望以下内容会有所帮助。
要检查组是否存在并查看哪些用户属于该组,请使用
getent group root
Run Code Online (Sandbox Code Playgroud)
例如,对于组“root”。
我还发现以下内容作为在 rpm 规范文件中添加组的标准方法很有帮助:在 rpm 中创建用户和组
在 [rpm 规范文件] 的 %pre 部分中,确保以正确的方式创建所需的用户/组(有关 RHEL 软件包如何执行此操作的示例,请参阅“rpm -q --scripts ...”,您可以或者可能不想使用“系统用户”(uid < 500)等)。
我查看了 rtkit 的例子
rpm -q --scripts rtkit-0.11-10.fc21.x86_64
preinstall scriptlet (using /bin/sh):
getent group rtkit >/dev/null 2>&1 || groupadd -r -g 172 rtkit
Run Code Online (Sandbox Code Playgroud)
基本上,这个想法是,如果一个包需要一个特定的组,用户/组管理应该由 rpm 安装脚本使用useradd
orgroupadd
和应该getent
用来确定它需要的用户或组是否已经存在。这使管理员可以灵活地管理系统用户/组,例如通过 LDAP 等目录服务,否则可能由程序包管理。另一方面,发行版应该为将由包创建的用户和组预先分配 UID 和 GID,以确保如果用户/组由包安装而不由本地管理员管理,UID 和GID 在运行同一平台的所有系统中保持一致。
归档时间: |
|
查看次数: |
12845 次 |
最近记录: |