【发布时间】:2014-05-08 00:52:01
【问题描述】:
似乎在容器内挂载的文件系统没有“acl”,因此“setfacl”不起作用。而且它也不会让我重新安装它,我什至不能运行'df -h'。
我需要 setfacl 因为我让 root 拥有我网站上的所有文件,并且我只授予网络服务器用户对缓存、日志等少数目录的写入权限。
我能做什么?
【问题讨论】:
标签: permissions docker
似乎在容器内挂载的文件系统没有“acl”,因此“setfacl”不起作用。而且它也不会让我重新安装它,我什至不能运行'df -h'。
我需要 setfacl 因为我让 root 拥有我网站上的所有文件,并且我只授予网络服务器用户对缓存、日志等少数目录的写入权限。
我能做什么?
【问题讨论】:
标签: permissions docker
好消息是 Docker 支持 ACL。
在早期版本中,Docker 使用了一个不支持它们的名为 AUFS 的文件系统。 您可以通过使用适当的选项启动 Docker 守护程序来告诉 Docker 使用 Device Mapper (LVM) 进行存储:
docker -d --storage-driver=devicemapper --daemon=true
来源:https://groups.google.com/forum/#!topic/docker-user/165AARba2Bk
然后你就可以在你的容器中使用setfacl。
任何最近的版本或 Docker 现在都使用 overlay2 存储驱动程序,它支持开箱即用。
要检查您的存储驱动程序是什么:
docker info | grep Storage
df -h 因不同且不相关的原因不起作用:它依赖于 /etc/mtab,在您的情况下不存在。在您的容器中,从procfs 创建一个链接,这将解决此问题:
ln -s /proc/mounts /etc/mtab
【讨论】:
Overlay2是否支持ACL吗?