为什么在upstart服务或守护进程中使用nobody和nogroup用户
我遇到了一个关于gunicorn服务的问题,停止它后,我发现请求仍然能够成功处理,并且通过执行ps aux | grep python确认这个服务仍在运行。
我查了一下,发现很多脚本都是使用用户nobody和组nogroup。
而在我的情况下,我把gunicorn脚本设置成使用daemon用户。
所以我想问一下,什么时候应该使用nobody用户,而不是使用daemon用户呢?
谢谢你的帮助和时间。
1 个回答
4
运行这个守护进程的“nobody”用户在机器上没有任何权限。这个用户通常是留给那些不太可信的守护进程,比如httpd等。
https://wiki.ubuntu.com/nobody
其实,这只是一个约定,用来表示在系统上权限非常有限的用户。这样一来,如果你的系统被黑客攻击,造成的损害就会更小。当然,这种情况并不总是如此(很多时候,黑客还是能通过nobody用户提升权限),但这样做总是一个好的安全习惯。