Por que outro usuário não pode acessar meu arquivo quando é um caminho completo?

4

Eu tenho um programa que executa um comando que é algo assim:

/home/myuser/bin>> /usr/bin/sudo -u otheruser script.py /home/otheruser/file.txt

Isso funciona, mas agora preciso que isso funcione quando o programa é executado em locais diferentes, então alterei para usar o caminho completo:

/home/myuser/bin>> /usr/bin/sudo -u otheruser  /home/myuser/bin/script.py /home/otheruser/file.txt

Isso resulta em:

can't open file '/home/myuser/bin/runmacroscript.py': [Errno 13] Permission denied

É o mesmo arquivo, então por que um caminho completo faz diferença?

    
por Jesse J 12.06.2015 / 00:22

1 resposta

4

Seu otheruser não pode acessar /home/myuser/bin/runmacroscript.py . As permissões de diretório em um ou ambos de /home/myuser ou /home/myuser/bin são muito restritivas.

O motivo pelo qual ele funciona quando você já está no diretório /home/myuser/bin é que otheruser não precisa percorrer a árvore de diretórios para chegar lá.

    
por 12.06.2015 / 00:35