samba – SELinux创建自定义角色

前端之家收集整理的这篇文章主要介绍了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是否只需要阅读内容,然后只需添加允许规则即可实现.

猜你在找的Linux相关文章