【发布时间】:2015-08-19 02:38:13
【问题描述】:
我在 /opt/MyApp 中有一个应用程序,我需要使用 FPM 将其打包到 RPM 包中,如下所示:
fpm -e -s dir -t rpm --name 'MyApp' --version '1.0' --iteration "12345" --directories /opt/MyApp --epoch 0 /opt/MyApp
(其他选项在这里不相关)
MyApp 中的所有文件和目录都归 root(用户和组)所有。还有一个名为“帮助”的目录,具有不同的权限,例如
drwxrwxrwx.
即所有用户都可以写入该目录。 当我检查 FPM 生成的规范文件时,它有
%defattr(-,root,root,-)
然后列出所有目录 (%dir) 和文件,因此我希望所有原始权限都保留在此包中。但是,当我使用
检查它时rpm -qlvp MyApp.rpm
“帮助”目录的权限被重置为:
drwxrwxr-x
即其他用户不能再在那里写了。 我的第一个猜测是添加选项
--rpm-use-file-permissions
但这让事情变得更糟,因为现在 RPM 中的所有文件都归调用 FPM 的用户所有。
编辑: 我已经使用
实现了结果--rpm-use-file-permissions --rpm-user root --rpm-group root
但它仍然感觉不优雅和灵活。 提前致谢。
【问题讨论】:
标签: linux file-permissions rpmbuild