我在TinyCore64机器上configurationpostgresql服务器,并且有一些文件和文件夹不能被用户postgres访问,尽pipe事实上我已经改变了权限,所有权和一切组合。 这里是命令和文件夹结构:
sudo -u postgres ls /etc/ssl/ # success # Permissions: drwxr-xr-x 6 root root sudo -u postgres ls /etc/ssl/private # ls: cannot open directory /etc/ssl/private/: Permission denied # Permissions: drwxr-xr-x 2 postgres postgres
我很难过 我究竟做错了什么?
编辑:
发布确切的成绩单。
root@121e7b1cdaa4:~# sudo -u postgres ls -al /etc/ssl total 28 drwxr-xr-x 6 root root 4096 Jun 12 08:33 . drwxr-xr-x 161 root root 4096 Jun 12 08:33 .. drwxr-xr-x 2 root root 4096 Jun 12 08:33 certs -rw-r--r-- 1 root root 10835 May 2 20:29 openssl.cnf drwxr-xr-x 2 postgres postgres 4096 Jun 12 08:33 private root@121e7b1cdaa4:~# sudo -u postgres ls -al /etc/ssl/private/ ls: cannot open directory /etc/ssl/private/: Permission denied
编辑:
张贴strace输出:
root@121e7b1cdaa4:~# strace -f sudo -u postgres ls -al /etc/ssl/private/ .... [pid 4270] close(3) = 0 [pid 4270] openat(AT_FDCWD, "/etc/ssl/private/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 EACCES (Permission denied) [pid 4270] write(2, "ls: ", 4ls: ) = 4 [pid 4270] write(2, "cannot open directory /etc/ssl/p"..., 39cannot open directory /etc/ssl/private/) = 39 [pid 4270] write(2, ": Permission denied", 19: Permission denied) = 19 [pid 4270] write(2, "\n", 1 ) = 1 ....
inode检查输出:
root@121e7b1cdaa4:/etc/ssl# sudo ls -ila /etc/ssl | grep private 19259 drwxr-xr-x 2 postgres postgres 4096 Jun 12 08:33 private root@121e7b1cdaa4:/etc/ssl# sudo ls -ila /etc/ssl/private | egrep ' \.$' 19259 drwxr-xr-x 2 postgres postgres 4096 Jun 12 08:33 .
你确定它是相同的目录? 即,相同的inode? 你可以validation这个结果:
# sudo ls -ila /etc/ssl | grep private # sudo ls -ila /etc/ssl/private | egrep ' \.$'
我想尝试的另一件事是检查磁盘inode问题。 运行这个:
# sudo touch /forcefsck
然后,重新启动你的系统,让fsck运行。