Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将WSGIDaemonProcess用户设置为Django应用程序的根用户?_Python_Django_Mod Wsgi_Django Wsgi - Fatal编程技术网

Python 如何将WSGIDaemonProcess用户设置为Django应用程序的根用户?

Python 如何将WSGIDaemonProcess用户设置为Django应用程序的根用户?,python,django,mod-wsgi,django-wsgi,Python,Django,Mod Wsgi,Django Wsgi,我尝试将WSGIDaemonProcess用户设置为root用户 [Fri May 02 04:48:47 2014] [error] [client 103.6.158.105] [Errno 13] Permission denied: '/var/www' [Fri May 02 04:48:47 2014] [error] [client 103.6.158.105] [Fri May 02 04:48:47 2014] [error] [client 103.6.158.105]

我尝试将WSGIDaemonProcess用户设置为root用户

[Fri May 02 04:48:47 2014] [error] [client 103.6.158.105]   [Errno 13] Permission denied: '/var/www'
[Fri May 02 04:48:47 2014] [error] [client 103.6.158.105] 
[Fri May 02 04:48:47 2014] [error] [client 103.6.158.105] The Python egg cache directory is currently set to:
[Fri May 02 04:48:47 2014] [error] [client 103.6.158.105] 
[Fri May 02 04:48:47 2014] [error] [client 103.6.158.105]   /var/www/.python-eggs
[Fri May 02 04:48:47 2014] [error] [client 103.6.158.105] 
[Fri May 02 04:48:47 2014] [error] [client 103.6.158.105] Perhaps your account does not have write access to this directory?  You can
[Fri May 02 04:48:47 2014] [error] [client 103.6.158.105] change the cache directory by setting the PYTHON_EGG_CACHE environment
[Fri May 02 04:48:47 2014] [error] [client 103.6.158.105] variable to point to an accessible directory.
[Fri May 02 04:48:47 2014] [error] [client 103.6.158.105] 
我的Django应用程序位于内部/home/user/app/

任何人都可以帮助以root身份运行WSGI守护进程。
谢谢。

您不能让Apache子工作进程或mod_wsgi守护进程作为根运行。代码中有故意内置的保护,以防止您这样做,并且尝试这样做将导致错误,Apache将无法启动

如果您确实试图将“user=root”设置为WSGIDaemonProcess,但没有看到错误消息:

WSGI process blocked from running as root.
如果Apache没有启动,那么这只能意味着Apache父进程作为一个整体从一开始就没有作为根用户启动过,而不是因为根用户对代码执行的限制而对您有所帮助

相反,您的Apache实例是以用户“bangtest”的身份启动的,这意味着Apache在任何时候都绝对没有权限将所有者更改为root,即使您入侵了Apache和mod_wsgi代码,以明确删除保护您不为自己造成巨大安全问题的限制

简而言之,您确实不希望以root用户身份运行任何web应用程序,因为这是一个巨大的安全问题

顺便说一句,忽略了以root身份运行的不明智愿望,您在pythonegg缓存中遇到的实际问题在mod_wsgi文档中有明确的说明


我在debian服务器上遇到了同样的问题,所以我通过设置user=www data和group=www data解决了这个问题


www数据用户在/root文件夹中没有权限

为什么要以root身份运行它?这听起来是个非常糟糕的主意。当我将图像上载到服务器时,它会使用以下权限保存图像-drwxr-xr-x 2 5198 May 1 22:54 image_2079.jpg*但我想成为上载文件的root所有者。您没有回答为什么需要它以root身份运行的问题。这就是为什么文件最终必须归根用户所有。你只是说你想这样,但这不是一个有效的理由。