尝试运行 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/文件
答案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