我试过使用二进制文件本身的标志(–uid www-data –gid www-data)并将其设置在我的配置中:

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):

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命令.

标签:nginx,ubuntu,uwsgi

来源: https://codeday.me/bug/20191028/1953181.html

linux uwsgi 非root,ubuntu-除非root用户,否则uWSGI Emperor权限被拒绝相关推荐

  1. linux7.4 root密码,[RHEL 7.4] 忘记root密码,普通用户又没有sudo权限,怎么办?

    依云 说:在内核命令行上加 init=/bin/bash 然后进去改好密码,sync 之后长按电源键(或者拔电源)重启. 或者用 live 系统 chroot 进去改密码. 不好意思,我还是相当新的新 ...

  2. Ubuntu创建新用户并增加管理员权限

    $是普通管员,#是系统管理员,在 Ubuntu下,root用户默认是没有密码的,因此也就无法使用(据说是为了安全).想用root的话,得给root用户设置一个密码: sudo passwd root ...

  3. linux C语言access()函数(检查用户对文件的权限)(判断文件是否存在)

    文章目录 man 2 access 20220601 不知道上面所说的pathname的符号链接取消引用是什么意思 man 2 access ACCESS(2) Linux Programmer's ...

  4. ubuntu创建新用户并设置sudo权限

    总结:只有两条命令 1. sudo adduser newaccount 创建新用户 newaccount,按提示一路确认即可 2. sudo adduser newaccount sudo 给用户 ...

  5. 【Linux operation 48】Ubuntu启用root用户,并授予远程ssh访问权限

    ubuntu系统服务器,默认的登陆用户名为ubuntu,那很多用户都想使用超级管理员root用户来操作自己的服务器,但是root用户默认是被禁止登陆的,该如何启用root用户呢?操作方法如下: 1.使 ...

  6. Linux基本常用命令|ubuntu获取root权限

    我用的是ubuntu12.4系统,因为默认是没有获取root的权限的 下边讲解怎么获取root权限 在终端中输入: sudo passwd root Enter new UNIX password: ...

  7. linux终端删除键失灵,ubuntu服务器新建用户后,上下键删除键tab键失效,提示符只有$解决办法...

    最近用ubunut新建普通用户后,出现上下键删除键tab键失效,提示符只有$的问题. 我的创建方法是: useradd ss passwd ss 当我用ss账号登录时出现上述问题. 解决办法1:用ad ...

  8. 【Linux系统管理】07 软件包管理 08 用户和权限

    一 软件包分类 Linux 系统和 Windows 系统之间的软件包是分开的.Windows 系统中的 .exe,.msi 是无法在Linux系统下运行.Linux 系统中的服务器应用是无法在 Win ...

  9. Linux基础系列(四)系统用户和组管理

    Linux系统是一个多用户.多任务的操作系统,任何一个想要使用系统资源的用户,都必须向系统管理员申请一个账号,并授予相应的权限给到这个账号后才能进入系统.用户的账号一方面可以帮助系统管理员对使用系统的 ...

最新文章

  1. 使用Python,OpenCV在视频中进行实时条形码检测
  2. (转)Ubuntu12.04上NFS Server安装使用过程
  3. [jstips]向数组中插入一个元素
  4. HMM学习(3)-Patterns generated by a hidden process
  5. 吴裕雄 python 神经网络——TensorFlow 图、张量及会话
  6. vue --- 获取子组件数据的一个应急方案$refs
  7. 【BZOJ1857】【SCOI2010】传送带 [三分]
  8. 广义表及其存储方式简介
  9. 【2016年第4期】欧盟数据可携权评析
  10. C#中判断字符串相等的方法
  11. 鼠标指向表格时 显示更多信息 toolTipController1
  12. 使用 json-server 作为 mock 数据
  13. Arcgis javascript那些事儿(十九)——地图标注添加
  14. 【高速PCB电路设计】2.高速电路DDR原理图概述
  15. 百度旋转验证码打码模块,集成鱼刺模块类
  16. Qml使用阿里字体图标库及FontAwesome字体图标库
  17. 【编译原理】【C语言】实验二:自动构造词法分析器
  18. 枪花--DON'T CRY
  19. OpenFOAM多孔介质模型_DarcyForchheimer
  20. 国产服务器(aarch64) Kettle 修改

热门文章

  1. php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
  2. 代码缺陷导致 CloudFlare 泄露大量客户站点的密码等私密信息
  3. 根据百度API获得经纬度,然后根据经纬度在获得城市信息
  4. php5.5CURL图片上传废弃@
  5. java 反射加实例化内部类
  6. 秒杀系统架构解密与防刷设计 - 高可用架构系列
  7. 下划线转驼峰,并且首字母大写
  8. 《统计学习方法》资源
  9. Feature Selection Techniques
  10. Windbg调试中遇到的问题