主页 > 原创 | 整理 | 学习笔记 > prosody以www-data权限运行

prosody以www-data权限运行

我在项目中实现了一个通过web调用prosodyctl register来增加xmpp服务新用户的功能。对开始调试时web使用的root运行,所以没有发现问题,部署时uwsgi使用www-data用户运行,这样在调用prosodyctl register时会不能访问到prosody的配置文件目录。

环境为ubuntu 14.04 64位系统,修改过程如下

1.增加prosody配置目录的权限,使www-data用权限访问

chmod -R 777 /etc/prosody
chmod -R 777 /var/lib/prosody

当然你也可以根据情况适当放低权限,或改成www-data访问权限。

2.同时需要修改prosody的运行权限为www-data,不然不能访问创建的用户文件
因为www-data调用 prosodyctl register时产生的用户文件权限为640

id -u www-data

查看id, 一般为33
在/etc/prosody/prosody.cfg.lua文件中增加

prosody_user = 33;

同时修改/etc/init.d/prosody中USER=prosody为

USER=www-data

重启服务后验证。

service prosody restart

如果还有问题,加用户组权限

usermod -a -G prosody www-data
usermod -a -G www-data prosody

Tags: prosody www-data

发表评论

邮箱地址不会被公开。 必填项已用*标注