微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

samba – SELinux创建自定义角色

我有一个通过Samba共享的文件夹,以及一个Docker容器,我希望通过将它作为卷添加到Docker容器来访问所述文件夹(是的,我知道这不是可移植的).

SELinux阻止容器访问该文件夹,因为该文件夹及其内容标记为samba_share_t,而不是svirt_sandBox_file_t

我知道smbd_t域可以访问许多SELinux标签(例如httpd_sys_content_t,虽然sesearch -s smbd_t –allow提供了完整列表),但是svirt_sandBox_file_t不是其中之一.

我看到了解决这个问题的几种方法

>通过网络从容器访问samba共享(不可取,因为这需要在容器中安装samba,并且存在网络开销)
>将文件夹及其内容重新标记为svirt_sandBox_file_t(这会阻止Samba访问该文件夹)
>将文件夹及其内容重新标记为public_content_rw_t(但也可以访问许多其他我不想访问此文件夹的服务)
>创建一个策略,让svirt_lxc_net_t访问samba_share_t标签(由audit2allow生成,但这使得任何容器都可以访问标记为samba_share_t的任何文件/文件夹)

我能想到的另一个选择是创建我自己的SELinux角色,它有自己的标签,只能访问Samba和svirt(我之前没有做过,但我愿意尝试).

在这里错过了什么吗?有更简单的方法吗?

解决方法

我会去添加规则以允许samba写入svirt_sandBox_file_t.因为您希望允许samba将内容上载到容器. samba是否只需要阅读内容,然后只需添加允许规则即可实现.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐