我创建了用户uwsgi
和组uwsgi
,以便将它们用作uid
uwsgigid
属性的 .ini 文件。我没有为此用户设置密码(没有运行sudo passwd uwsgi
,实际上,我无法以 uwsgi 身份登录)。使用用户作为 uwsgi 进程的进程所有者是否安全?或者这是一个不好的做法,最好为用户设置密码uwsgi
?
答案1
是的,这几乎是标准做法。例如,许多守护进程使用自己的专用用户名/uid(通常还有专用 gid)运行 - 它们没有密码(或禁用的密码)并且无法登录,但可以运行进程和 cron 作业和他们的 UID。
他们中的许多人也有/bin/false
或/usr/sbin/nologin
类似的外壳。
例如,在我的 Debian 系统上,用户tftp
和unbound
用于运行dnstftpd
解析器unbound
。其中一个有/bin/false
外壳,另一个有/usr/sbin/nologin
——实际上,没有什么区别。
$ getent passwd tftp unbound
tftp:x:182:187:tftp daemon,,,:/srv/tftp:/bin/false
unbound:x:188:210::/var/lib/unbound:/usr/sbin/nologin