与3.13主机意外的“权限被拒绝”

我有一个在Debian jessie(内核3.16)上正常运行的docker镜像,当我将镜像移动到Ubuntu主机(内核3.13)时,postgresql无法启动。 我已经缩小了它在访问某个文件时的行为差异,我唯一的解释就是主机内核的差异。 我想知道是否有人确认这是问题,或者有可能的根本原因。 以下命令序列显示问题。 首先在“好”的主机上:

root@lava-docker:/etc# ls -l /etc/ssl/private/ssl-cert-snakeoil.key -rw-r----- 1 root ssl-cert 1708 Oct 20 19:31 /etc/ssl/private/ssl-cert-snakeoil.key root@lava-docker:/etc# su - postgres postgres@lava-docker:~$ ls -l /etc/ssl/private/ssl-cert-snakeoil.key -rw-r----- 1 root ssl-cert 1708 Oct 20 19:31 /etc/ssl/private/ssl-cert-snakeoil.key postgres@lava-docker:~$ ls -ld /etc/ssl/private drwx--x--- 2 root ssl-cert 4096 Oct 20 19:31 /etc/ssl/private postgres@lava-docker:~$ id uid=110(postgres) gid=115(postgres) groups=115(postgres),114(ssl-cert) 

现在“坏”主机上的相同序列:

 root@lava-docker:/# ls -l /etc/ssl/private/ssl-cert-snakeoil.key -rw-r----- 1 root ssl-cert 1708 Oct 20 19:31 /etc/ssl/private/ssl-cert-snakeoil.key root@lava-docker:/# su - postgres postgres@lava-docker:~$ ls -l /etc/ssl/private/ssl-cert-snakeoil.key ls: cannot access /etc/ssl/private/ssl-cert-snakeoil.key: Permission denied postgres@lava-docker:~$ ls -ld /etc/ssl/private drwx--x--- 2 root ssl-cert 4096 Oct 20 19:31 /etc/ssl/private postgres@lava-docker:~$ id uid=110(postgres) gid=115(postgres) groups=115(postgres),114(ssl-cert) 

可以看出,即使文件和目录权限是相同的,就像用户configuration(毕竟是相同的docker镜像),在一个postgres用户可以看到它,而不是另一个。 这个目录没有安装音量选项,它在aufs控制下