如何在rpm中使用自定义主目录创建新用户

时间:2015-01-27 19:07:37

标签: rpm

我正在尝试创建一个需要为用户添加自定义主目录的RPM。在预安装脚本中,它尝试执行此命令(是的,myapp已经存在):

useradd -c "My Application's User" -d /usr/myapp -f 0 -s /bin/bash -g myapp myapp

如果我以root身份执行此命令,则可以正常工作。如果我以root身份运行时通过RPM执行此命令,则会收到以下错误:

useradd: cannot create directory /usr/myapp

在安装/运行安装脚本时,RPM是否以其他用户身份运行?有没有办法完成我想要完成的任务?

谢谢!

2 个答案:

答案 0 :(得分:1)

它可能连接到SELinux。尝试在useradd之前运行setenforce 0,或者在/ etc / selinux / config中禁用SELinux,但我必须警告你:这不是一个好习惯。如果你想使用SELinux(你可能想要),创建不在/ home /下的用户会导致麻烦。我想你最好重新考虑一下。在/ usr下设置主目录的原因是什么?

答案 1 :(得分:0)

这通常发生在:

useradd -d /usr/something/myapp

和/ usr / something不存在。 / usr / something必须存在。你可以打电话给

   mkdir -p /usr/something

位于%pre

的顶部