web-dev-qa-db-ja.com

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オプションを受け入れない理由はありますか?

3
aSystemOverload

ここでは、マウントオプションの順序が重要であることは間違いありません。 manページから:

   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に設定します。

4
Jenny D

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

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

実行権限なしでelf(linuxバイナリ実行可能ファイル)ファイルを実行する場合は、次のことができます。

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

1
cfy

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

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.
1
SWdream

vsCodeなどの一部のコンパイラでは、これを克服するために「python3」ではなく「python」と入力する必要があります。

例-:

python manage.py startapp chat
0
kumar Siddhant