如何在 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
权限(所有权)。
例如,该文件的所有者为 ( chown
ed ) as
root:root . It means
root user is the owner, and
root group is the group owner. So others are any users who are neither
root user, nor members of
root` 组。
该%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
,考虑到最后一位(其他),将允许所有用户读取该文件。