Problema de permissão do Symlink no Linux + ZFS

1

Eu tenho dois links simbólicos apontando para o mesmo diretório de destino. ls mostra um deles (o mau) pertencente ao usuário 1001, o outro ao root. Qualquer usuário que não seja 1001, mesmo root, pode listar o diretório usando o bom symlink, mas não com o bom. O usuário do 1001 pode usar qualquer um deles e eles funcionam.

# ls -ldn /opt
lrwxrwxrwx 1    0   0 12 Sep 27 12:54 good -> dir
lrwxrwxrwx 1 1001 100 12 Nov  7  2016 bad -> dir
drwxrwxr-x 9 1001 100 11 Jun  3  2016 dir
...
# id
uid=0(root) gid=0(root) groups=0(root)
# ls /opt/good
(directory entries...)
# ls /opt/bad
ls: cannot access /opt/bad: Permission denied

O que poderia estar causando isso? Fiquei com a impressão de que as permissões de um link simbólico não importavam no Linux. Como faço para corrigir isso? Como faço para encontrar todos os links simbólicos com este problema?

Estou usando um sistema Debian Linux com kernel 4.4.76 e ZFS 0.6.5.9. Isso é um bug no kernel e / ou no ZFS? Poderia haver algum código morto do Solaris no ZFS que lê as permissões do próprio link simbólico?

    
por Tobia 27.09.2017 / 13:09

1 resposta

0

O Solaris não se importa com a permissão de links simbólicos, então duvido que o código do ZFS possa ser o culpado.

Em qualquer caso, você pode tentar a seguinte solução alternativa:

chown -h 0:0 /opt/bad
    
por 27.09.2017 / 13:43