我想限制特定用户能够将 node.js 服务器绑定到特定端口。该功能正在运行。
不起作用的是允许该用户访问他自己的文件。
audit2allow 告诉我这个:
#============= user_t ============== #!!!! 此 avc 违反了约束。您需要向源类型或目标类型添加属性才能使其正常工作。 #约束规则: 允许 user_t user_home_t:dir { 写入 remove_name add_name }; #!!!! 此 avc 违反了约束。您需要向源类型或目标类型添加属性才能使其正常工作。 #约束规则: 允许用户_t user_home_t:文件{读写执行打开};
我不知道可以添加什么属性来使我的用户更清楚地能够访问自己的文件。
这是 audit.log 条目
类型 = AVC 消息 = 审核(1396865445.876:184):avc:拒绝 { 写入 } pid = 20389 comm =“node”名称 =“hawkejs-client-side.js”dev = md2 ino = 92144931 scontext = sandbox_u:user_r:user_t:s0 tcontext = unconfined_u:object_r:user_home_t:s0 tclass = file
audit2why 给了我这个:
类型 = AVC 消息 = 审核(1396865445.876:184):avc:拒绝 { 写入 } pid = 20389 comm =“node”名称 =“hawkejs-client-side.js”dev = md2 ino = 92144931 scontext = sandbox_u:user_r:user_t:s0 tcontext = unconfined_u:object_r:user_home_t:s0 tclass = file 造成的原因如下: 违反策略约束。 可能需要向域或类型添加类型属性以满足约束。 约束在 policy/constraints(常规)、policy/mcs(MCS)和 policy/mls(MLS)中的策略源中定义。
答案1
此链接解释了有关约束违反以及如何应对: http://cat.devtwo.org/post/An-SELinux-constraint-violation-(p-1-of-5)