当我们需要使用sudo python xxx.py或只是python xxx.py或xxx.py
题
我写了一个网站,当我运行网站时,我感到困惑的是,首先我需要启动该应用程序,因此有3种方法:
- sudo python xxx.py
- python xxx.py
- xxx.py
我没有清楚如何使用它们,当前计算机中的第三种方法效果不佳
解决方案
sudo
将使用Superuser权限运行应用程序。考虑到您指的是网站,这肯定是 不是 你想做什么。 (对于WebApp,如果需要超级用户的权限,则破坏了。这太大了安全风险,无法考虑实际使用。)
在其他情况下,您可能会有一个Python程序,该程序可以进行某种系统维护,并且需要作为root运行。在这种情况下,您将使用 sudo
, ,但是你会 绝不 想要做到这一点,以公开访问并有可能被利用。实际上,除了测试外,您可能应该以非常有限的访问权限为单独的用户运行WebApp(例如,将其壳设置为 /dev/null
, ,没有阅读或写入他们不需要的任何内容等等。)。
其他两个有效地相同(在他们所做的工作中),但最后一个选项(直接执行脚本)将需要:
- 要设置的可执行位(在Unix-Y系统上)(例如
chmod +x whatever.py
) - 一个 希邦 在第一行(例如
#! /usr/bin/python
)指向您要运行的python可执行(同样,这仅适用于Unix-Y系统)
调用Python运行代码(python whatever.py
)并遵循上述步骤(导致您可以直接调用的脚本 whatever.py
)做完全相同的事情(假设python文件中的shebang指向与“同一python”可执行文件。python
“还是,无论如何...)
不隶属于 StackOverflow