Problemas de permissão do Linux: “Permissão negada”

1

Estou provisionando um servidor postgresql em uma máquina TinyCore64 e há alguns arquivos e pastas que não podem ser acessados pelo usuário postgres, apesar do fato de eu ter alterado as permissões, propriedade e grupo de tudo. Aqui estão os comandos e a estrutura de pastas:

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

Estou perplexo. O que estou fazendo errado?

Editar:

Publicou a transcrição exata.

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

Editar:

publicou a saída 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
....

saída de verificação de 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 .
    
por picardo 14.06.2014 / 20:47

1 resposta

0

Tem certeza de que é o mesmo diretório? Ou seja, mesmo inode? Você pode verificar com os resultados disso:

# sudo ls -ila /etc/ssl | grep private
# sudo ls -ila /etc/ssl/private | egrep ' \.$'

Outra coisa que eu tentaria é verificar o disco para problemas de inode. Execute isto:

# sudo touch /forcefsck

Em seguida, reinicie seu sistema e deixe fsck ser executado.

    
por 14.06.2014 / 21:22