Pythonスクリプトを実行できません。権限が拒否されました。

Pythonスクリプトを実行できません。権限が拒否されました。

NZBGet(Python)スクリプトを実行しようとしたときに、次のように手動で実行してみました。

/mnt/local/ext001/MEDIA/NZBGet/scripts/videosort/VideoSort.py

しかし、結果は次のようになります。

bash: /mnt/local/ext001/MEDIA/NZBGet/scripts/videosort/VideoSort.py: Permission denied

現在の権限でこのsudoコマンドを実行してみましたSUが、777まだ同じメッセージが表示されます。許可を拒否するにはどうすればよいですか?

編集:次のコマンドを使用しても、パーティションはnoexecを使用してマウントされているようです。

/mnt/local/ext001 ext4 auto,rw,exec,async,user,suid,noatime,nodiratime,relatime 0 2

なぜexecオプションを許可しないのか知っていますか?

答え1

そうですね。ここでは、インストールオプションの順序が重要です。マニュアルページから:

   users  Allow every user to mount  and  unmount  the  filesystem.   This
          option  implies  the  options  noexec, nosuid, and nodev (unless
          overridden  by  subsequent  options,  as  in  the  option   line
          users,exec,dev,suid).

このexecオプションはこのusersオプションの後ろではなく前にあるため、このusersオプションはそれを無視してボリュームをに設定しますnoexec

答え2

Pythonが実行可能でパーティションを再マウントしたくない場合やできない場合は、次のように実行できます。

python /mnt/local/ext001/MEDIA/NZBGet/scripts/videosort/VideoSort.py

実行権限なしで elf (Linux バイナリ実行可能ファイル) ファイルを実行するには、次のようにします。

/lib/ld-linux.so.* /path/to/elf/file

答え3

ファイルを実行可能にする必要があります。

chmod +x /mnt/local/ext001/MEDIA/NZBGet/scripts/videosort/VideoSort.py  

または

chmod 555 /mnt/local/ext001/MEDIA/NZBGet/scripts/videosort/VideoSort.py  

その後、次を実行できます。

./mnt/local/ext001/MEDIA/NZBGet/scripts/videosort/VideoSort.py.

答え4

たとえば、一部のコンパイラでは、vsCodeこの問題を解決するには「python3」の代わりに「python」と入力する必要があります。

たとえば-:

python manage.py startapp chat

関連情報