フルパスの場合、他のユーザーが自分のファイルにアクセスできないのはなぜですか?

フルパスの場合、他のユーザーが自分のファイルにアクセスできないのはなぜですか?

次のコマンドを実行するプログラムがあります。

/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

関連情報