gpt4 book ai didi

ubuntu - uWSGI Emperor Permission Denied unless root

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:44 31 4
gpt4 key购买 nike

我已经尝试使用二进制文件本身的标志 (--uid www-data --gid www-data) 并在我的配置中设置它:

    uid = www-data
gid = www-data

但是套接字总是使用我正在使用的帐户生成,所以我从 nginx 收到权限被拒绝的错误。

谁知道这是为什么?

补充问题:有谁知道nginx和uwsgi的user set在哪里?我有另一台服务器一直在工作,它没有在任何配置文件中设置 uid 或 gid,但一切都在使用 www-data 。

回答 显然,如果您像我尝试的那样从终端启动服务,即 (user@server:~/$ uwsgi --uid www-data --gid www-data) ,它将始终与调用它的用户一起启动和运行,这解释了为什么我觉得它不遵守我的 uid 和 gid 标志。当我如下所述运行它时,它确实以正确的用户/组 www-data 运行。

已更新

我正在启动 uWSGI,正如您所说,“sudo service uwsgi start”应该会触发此文件 (/etc/init/uwsgi.conf):

description "uWSGI"
start on runlevel [2345]
stop on runlevel [06]
respawn

env UWSGI=/home/ccadmin/.local/bin/uwsgi
env LOGTO=/var/log/uwsgi/emperor.log

exec $UWSGI --master --emperor /etc/uwsgi/vassals --die-on-term --uid www-data --gid www-data --logto $LOGTO

但是使用这个配置我的 emperor.log 文件说:

execvp(): Permission denied [core/emperor.c line 1481]
[emperor] binary path: /home/ccadmin/.local/bin/uwsgi
[emperor] is the uwsgi binary in your system PATH ?
TIME STAMP - [emperor] curse the uwsgi instance cc_uwsgi.ini (pid: ####)
TIME STAMP - [emperor] removed uwsgi instance cc_uwsgi.ini

如果我将 --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 命令。

关于ubuntu - uWSGI Emperor Permission Denied unless root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29243445/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com