ubuntu-除非root用户,否则uWSGI Emperor权限被拒绝
我试过使用二进制文件本身的标志(–uid www-data –gid www-data)并将其设置在我的配置中:
但是套接字始终是使用我正在使用的帐户生成的,所以我收到nginx的权限被拒绝错误. 有人知道为什么吗? 附加问题:有谁知道nginx和uwsgi在哪里设置了用户?我有另一台一直在工作的服务器,并且在任何配置文件中都没有设置uid或gid,但是一切都使用了www-data. 回答显然,如果您按照我的尝试从终端启动服务,即(user @ server:?/ $uwsgi –uid www-data –gid www-data),它将始终与用户一起启动并运行谁叫它解释了为什么我觉得它没有遵守我的uid和gid标志.当我如下所述运行它时,它确实以正确的用户/组www-data运行. 更新 如您所说,我正在启动uWSGI,“ sudo服务uwsgi start”应该触发该文件(/etc/init/uwsgi.conf):
但是,使用此配置,我的emperor.log文件显示:
如果我将–uid和–gid更改为root,则一切正常.它必须是一些简单的权限,但是对于linux来说是新手,我发现很难查明. 同样奇怪的是,它正在向我询问我的系统路径中的uwsgi二进制文件……应该存在吗?因为我已经将/home/ccadmin/.local/bin添加到/ etc / environment中的系统路径中.不应该在那里吗?还是应该一直到二进制文件? (即,将/home/ccadmin/.local/bin/uwsgi insetad仅添加到/ bin) 最佳答案
您应该以root用户身份启动uwsgi,否则,您将无法切换到其他用户.基本的Unix概念.通过sudo使用service uwsgi start命令.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |