次のコマンドを実行するプログラムがあります。
/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