selinux 目录的多种类型

selinux 目录的多种类型

对于新部门,我创建了一个新的挂载点 /dept/dev,这里目前有 2 个目录:samba 和 svn,因此我们有:

unconfined_u:object_r:samba_share_t:s0 /dept/dev/samba/*
unconfined_u:object_r:svnserve_content_t:s0 /dept/dev/svn/* 

(/dept 和 /dept/dev 也是“samba_share_t”,因为它是先创建的)

samba 运行良好,但 svn 不行:

AVC avc:  denied  { search } for  pid=7126 comm="svnserve" name="/" dev="sdb1" ino=512 scontext=system_u:system_r:svnserve_t:s0 tcontext=system_u:object_r:samba_share_t:s0 tclass=dir permissive=0

(我认为上面的“名称”是它尝试搜索的目录?)

似乎因为上级目录是 samba_share_t,所以下级目录不能是 svnserve_content_t ?如果这是正确的,我该如何实现?我需要将 /dept 和 /dept/dev 设为 public_t 吗?

答案1

您需要告诉 SELinux 需要/dept/svn/*svnserve_content_t您可以通过添加合适的正则表达式来实现...

semanage fcontext -a -t svnserve_content_t "/dept/svn(/.*)?"
restorecon -rv /dept/svn

应该做你想做的事。

相关内容