无法运行 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命令SU777但仍然收到相同的消息。怎样才能拒绝许可呢?

编辑:尽管使用了以下命令,但分区似乎正在使用 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/文件

答案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,您需要输入“python”而不是“python3”来克服这个问题。

例如-:

python manage.py startapp chat

相关内容