在脚本 a.sh 中:
chown -R root:group parent-folder/
chown -R root:group parent-folder/*
该脚本以 root 用户身份运行。
当 chown 被执行时,它会显示以下 SELinux 违规:
chown :类型 = 1400 审核(0.0:7):avc:拒绝 { dac_override } 对于功能 = 1 scontext = u:r:scriptName:s0 tcontext = u:r:scriptName:s0 tclass =功能许可= 1
我需要做什么才能避免上述 dac_override ? (我当然不想应用 dac_override SE 策略)
答案1
您需要使用具有访问和修改文件所需的 DAC 权限的用户/组来运行该进程。该进程不能不更改文件的所有者而没有CAP_CHOWN
能力。文件所有者可以将组更改为该进程所属的另一个组。递归chown
还需要(至少)对相关目录具有搜索权限。
有关更多详细信息,请参阅手册页chown(2)
和capabilities(7)
。