Como depurar permissões do sistema de arquivos?

3

Estou puxando meu cabelo aqui. Eu recebo erros de permissão quando tenho um processo em execução como root, gerando um subprocesso como www-data, que acessa um diretório que pertence a root, com uma subpasta pertencente a www-data, que possui um symink para um dir que pertence a um usuário no grupo www-data, que então tem .... VOCÊ RECEBE A IDÉIA. Como diabos eu sei onde ele falha nesta cadeia impossivelmente complexa? Tudo que recebo é Permissão negada

Sem ficarmos atolados nos detalhes dessa situação em particular, como alguém começa a depurar um problema como esse no unix?

Quero apenas dizer

debug_permissions.sh www-data /my/long/symlink/chain

e eu quero que ele passe e me diga onde está o ponto terminal (onde www-data não tem permissões)

Eu sei que existe uma ferramenta %código% mas isso não é muito útil porque não me deixa correr como outro usuário (ou pelo menos eu não sei como)

Se eu correr %código% Eu recebo Esta conta não está disponível no momento.

Eu quero ser capaz de "me tornar" www-data e "cd" para os dirs e ver onde eu não consigo ver as coisas. Mas isso não me deixa fazer isso e não quero criar um novo usuário apenas para fazer isso.

    
por Jonathan 07.07.2017 / 01:11

1 resposta

5

Aha, isso acontece:

sudo -H -u www-data namei /my/long/symlink/chain

onde www-data é o usuário que estou tentando depurar

    
por 07.07.2017 / 01:14