对于我们正在编写的服务,我已经获得了部分完整的RPM规范。它可以创建所需的目录,复制文件,设置权限等,但是并不能使服务运行在所需的系统帐户上。有人告诉我,最好由RPM来解决,所以我添加了
Requires(pre): /usr/sbin/useradd
%pre
useradd -r -d /path/to/program -s /bin/false myservice
这样可以成功创建用户帐户(和关联的组),因此稍后尝试对服务的文件设置所有权/权限时,该操作也会成功。
我当前的问题是:a)如果用户帐户已经存在,则RPM安装失败,因为useradd
失败(因为用户已经存在);b)我不知道如何rpm -e myservice
也删除关联的用户和组。
//,您是否考虑使用FPM?
—
弥敦道(Nathan Basanese)2015年