修改RPM中“其他”目录的权限

修改RPM中“其他”目录的权限

如何在 RPM 的 .spec 文件中为“其他”设置写权限据我所知,“其他”是用于所有非所有者用户的标志。

我正在尝试在 .spec 文件的 % attr 部分中设置权限

%文件

%defattr( - ,根,根)

%attr( -,其他,根)/opt/platform3pp/P3PPapache-tomcat-9.0.14-1.1/conf

%attr(-,其他,根)/opt/platform3pp/P3PPapache-tomcat-9.0.14-1.1/logs

%attr(-,其他,根)/opt/platform3pp/P3PPapache-tomcat-9.0.14-1.1/temp

%attr(-,其他,根)/opt/platform3pp/P3PPapache-tomcat-9.0.14-1.1/webapps

%attr(-,其他,根)/opt/platform3pp/P3PPapache-tomcat-9.0.14-1.1/work

当我安装 RPM 时,它告诉我用户 others 不存在-使用 root

答案1

据我所知,“其他”是用于所有非所有者用户的标志。

否。“其他”权限是 中的最后一位chmod,例如权限 0644对于一个文件,允许任何既不是该文件组所有者的成员也不是该文件所有者的人读取该文件。

实际系统用户中哪些是“其他人”将取决于chown权限(所有权)。

例如,该文件的所有者为 ( chowned ) asroot:root . It meansroot user is the owner, androot group is the group owner. So others are any users who are neitherroot user, nor members ofroot` 组。

%attr宏具有以下签名:

%attr(<mode>, <user>, <group>) <file>

因此当您指定:

%attr(-,others,root) /opt/platform3pp/P3PPapache-tomcat-9.0.14-1.1/conf

others当然,除非系统中有实际用户,否则这将不起作用。

只需使用宏的第一个参数即可mode(或者,简单地说,chmod是相关文件)。例如:

%attr(0644,root,root) /opt/platform3pp/P3PPapache-tomcat-9.0.14-1.1/conf

结果是该文件将归所有root:root,并且 chmod 将是0644,考虑到最后一位(其他),将允许所有用户读取该文件。

相关内容