다음 명령을 실행하는 프로그램이 있습니다.
/home/myuser/bin>> /usr/bin/sudo -u otheruser script.py /home/otheruser/file.txt
이것은 효과가 있었지만 이제는 프로그램이 다른 위치에서 실행될 때 작동해야 하므로 전체 경로를 사용하도록 변경했습니다.
/home/myuser/bin>> /usr/bin/sudo -u otheruser /home/myuser/bin/script.py /home/otheruser/file.txt
결과 :
can't open file '/home/myuser/bin/runmacroscript.py': [Errno 13] Permission denied
같은 파일인데 왜 전체 경로가 다른가요?
답변1
otheruser
에 액세스할 수 없습니다 . 디렉터리 중 /home/myuser/bin/runmacroscript.py
하나 또는 둘 모두 에 너무 제한적인 권한이 있습니다./home/myuser
/home/myuser/bin
이미 디렉토리에 있을 때 작동하는 이유는 거기에 도달하기 위해 디렉토리 트리를 탐색할 필요가 없기 /home/myuser/bin
때문입니다 .otheruser