Linux RPM安装包脚本无法更改所需文件的所有权

时间:2013-01-04 13:53:12

标签: linux shell installation rpm

测试RPM安装包shell脚本的使用情况。

在shell脚本中包含了linux命令,以创建新用户并将/ etc / hosts的所有权更改为该用户。 Shell脚本内容:

useradd bob
chown bob /etc/hosts

RPM安装后应该导致:

-rw-r--r--. 1 bob root 331 Jan  4 11:13 /etc/hosts

在RPM安装完成后,它仍然是:

-rw-r--r--. 1 root root 331 Jan  4 11:13 /etc/hosts

2 个答案:

答案 0 :(得分:0)

/etc/hostsroot所有,因此脚本无权更改该文件。

我不确定你是如何执行脚本的,但是如果它只是一个标准的shell脚本你可以尝试sudo

sudo ./my_script.sh

答案 1 :(得分:0)

(警告:更改像这样的系统级文件的所有权是一个安全问题而不是最明智的想法。)

你确定脚本运行了吗?您可能想要第一行:

useradd bob || /bin/true

或只是

useradd bob || :

因此它总是返回true。否则,rpm将中止脚本,例如,如果用户“bob”已经存在。