我写了一个网站,让我困惑的是当我运行该网站时,首先我需要启动应用程序, 所以有3种方法:
- sudo python xxx.py
- python xxx.py
- xxx.py
我不太清楚如何使用它们,NO.3方法目前在我的电脑上效果不好
最佳答案
sudo
将以 super 用户权限运行应用程序。考虑到您指的是一个网站,这当然不是您想要做的。 (对于网络应用程序来说,如果它需要 super 用户权限,那么它就被破坏了。这对于考虑实际使用而言,安全风险太大了。)
在其他情况下,您可能有一个 python 程序,该程序执行某种系统维护并需要以 root 身份运行。在这种情况下,您可以使用 sudo
,但您永远都不想对可公开访问且可能被利用的内容执行此操作。事实上,对于测试以外的任何事情,您可能应该以具有非常有限的访问权限的单独用户身份运行 Web 应用程序(例如,将其 shell 设置为 /dev/null
,没有对任何内容的读或写访问权限)他们不需要,等等...)。
另外两个实际上是相同的(就它们的作用而言),但最后一个选项(直接执行脚本)需要:
- 要设置的可执行位(在
unix-y 系统)(例如
chmod +xwhatever.py
) - 一个shebang在第一行(例如
#! /usr/bin/python
) 指向 你想要的 python 可执行文件 运行(同样,这仅适用于 unix-y 系统)
调用 python 来运行代码 (pythonwhatever.py
) 并按照上述步骤操作(生成一个可以直接使用 whatever.py
调用的脚本)
做完全相同的事情(假设 python 文件中的 shebang 指向与“python
”相同的 python 可执行文件,无论如何......)
关于python - 当我们需要使用 sudo python xxx.py 或只是 python xxx.py 或 xxx.py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3795942/