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