我想从 docker 容器访问 Windows 文件共享共享 (SMB3),但我不想损害主机的安全性。我读过的所有指南都表明我需要使用标志--privileged或--cap-add SYS_ADMIN功能。
这是我使用的命令:
mount -t cifs -o 用户名='some_account@mydomain.internal',password='some_password' //192.168.123.123/MyShare /mnt/myshare
结果是消息:
无法应用新的功能集。
当我应用该--cap-add SYS_ADMIN功能时,挂载命令工作正常,但我知道这会使主机面临明显的安全漏洞。
我还阅读了此 StackOverflow 问题(在 Docker 容器中安装 SMB/CIFS 共享)中的建议,将卷本地安装在运行 docker 的服务器上。这是不可取的,原因有两个,首先,容器是由 Rancher Kubernetes 集群编排的,我不知道如何使用 Rancher 实现 nPcomp 所描述的内容,其次,这意味着 docker 主机可以访问该卷。我希望只有容器可以通过秘密提供的凭据访问此共享。
我的问题是:有没有办法在 docker 容器(在 Kubernetes 内)中挂载 CIFS/SMB3 共享,而不会让主机面临权限提升漏洞并保护凭据?非常感谢。