关于nginx的启动权限
刚碰到的一个问题,在启动nginx时碰到这个错误:
?
?
显然是执行这个二进制文件的权限问题,我们都知道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-proxy
?
那么当我sudo执行这个文件的时候,就会拿到root权限,从而顺利启动nginx。
?
更多关于SUID和GUID的内容可以点击下面的链接:
http://www.hudong.com/wiki/SUID