关于nginx的启动权限

刚碰到的一个问题,在启动nginx时碰到这个错误:

 

 

nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/nginx/conf/nginx.conf:

 

显然是执行这个二进制文件的权限问题,我们都知道nginx的master process 需要用root权限来启动,子进程则可以用其他用户来运行。

 

用ll命令查看,发现nginx这个二进制文件没有SUID权限了。因为我的nginx文件是属于admin用户的,当我用个人账户nigelzeng来sudo启动这个文件时,只相当于用admin权限来启动nginx主进程,这当然是permission deny了。。。。

 

因此需要把这个nginx文件用chmod设置为root用户所属,然后加上SUID权限:

chown root nginx

chmod +s nginx

 

设置完成之后,会看到类似的:

-rwsr-sr-x 1 root  admin 1326768 Aug  29 16:40 nginx

 

那么当我sudo执行这个文件的时候,就会拿到root权限,从而顺利启动nginx。

 

更多关于SUID和GUID的内容可以点击下面的链接:

http://www.hudong.com/wiki/SUID

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值