Como posso ver se um arquivo é legível por um usuário específico no Linux?

2

Eu tenho uma hierarquia de arquivos complicada e não quero verificar as permissões em cada diretório. Existe alguma maneira de descobrir imediatamente se um arquivo é legível por um determinado usuário? (fora do login como esse usuário)

    
por Oin 31.01.2013 / 14:10

1 resposta

9

Isso só funcionará se você tiver privilégios de root

se o usuário tiver um shell de login válido

su username -c 'ls /long/dir/user/filename'

se o usuário tiver um shell de nologin /sbin/nologin e similar:

su username -s /bin/sh -c 'ls /long/dir/user/filename'

Para descobrir por que um usuário não pode acessar um arquivo (cria uma árvore de saída legível com permissões):

# namei -om /home/someuserhomedir/Maildir/

f: /home/someuserhomedir/Maildir/
dr-xr-xr-x root     root      /
drwxr-xr-x root     root      home
drwx------ someuser somegroup someuserhomedir
drwx------ someuser somegroup Maildir
    
por 31.01.2013 / 14:20