使用有限的命令权限运行 python 脚本(帮助)

使用有限的命令权限运行 python 脚本(帮助)

我添加了一个新用户,并希望他们能够执行一个文件,当输入“python3”时它可以工作并且我可以输入代码,但是当我尝试执行python脚本时我得到了这个 python3: can't open file 'bot.py': [Errno 13] Permission denied

答案1

你可以使用它来改变脚本的所有权

sudo chown username:users bot.py

或者您可以使用下面的方法,但最好找到文件所需的最低正确权限,而不是授予所有人所有权限

sudo chmod 777 bot.py

答案2

您好,欢迎来到 Ask Ubuntu :)

首先,这个错误[Errno 13] Permission denied看起来像是 Windows 错误。请确认你正在运行 Ubuntu 吗?如果没有,你可以询问堆栈溢出或者超级用户。我会回答 Ubuntu 的问题,但如果您在 Windows 上遇到此问题,则不适用。
用户必须对文件具有执行权才能执行它。您可以通过打开终端并ls -l在 Python 文件所在的目录中键入命令来检查访问权限。
此命令显示所有文件/目录的访问权限(类似于 -rwxrw-r--,其中“r”表示读取,“w”表示写入,“x”表示执行。“-”表示未授予访问权限。)、拥有该文件的组和用户以及其他一些信息。
有 3 个连续的“rwx”。第一个是文件所有者,第二个是所有者组,第三个是所有其他用户。它们通常被称为“UGO”,代表用户-组-其他。如果拥有该文件的用户与需要执行该文件的用户相同,则您需要具有这种访问权限:-rwXrw-r——
有一个命令可以管理访问权限:修改模式 您可以使用命令将执行权限授予文件所有者sudo chmod u+x bot.py
如果需要执行该文件的用户不是该文件的所有者,则您需要使用以下命令更改文件所有者:sudo chown命令或者向“其他”用户授予执行权(即具有 -rwxrw-r- 等访问权限)X使用命令sudo chmod o+x bot.py
请注意,chmod 还允许删除访问权限 - 您需要使用“-”而不是“+”例如,sudo chmod o-rwx bot.py将删除所有不属于文件所有者组的用户的读、写和执行权限。

您应该能够弄清楚如何通过此方法向正确的用户授予正确的权限。如果不行,请随时说明您遇到的问题,我将提供模式详细信息。

相关内容