在 Linux 中使用禁用用户启动进程安全吗?

在 Linux 中使用禁用用户启动进程安全吗?

我创建了用户uwsgi和组uwsgi,以便将它们用作uiduwsgigid属性的 .ini 文件。我没有为此用户设置密码(没有运行sudo passwd uwsgi,实际上,我无法以 uwsgi 身份登录)。使用用户作为 uwsgi 进程的进程所有者是否安全?或者这是一个不好的做法,最好为用户设置密码uwsgi

答案1

是的,这几乎是标准做法。例如,许多守护进程使用自己的专用用户名/uid(通常还有专用 gid)运行 - 它们没有密码(或禁用的密码)并且无法登录,但可以运行进程和 cron 作业和他们的 UID。

他们中的许多人也有/bin/false/usr/sbin/nologin类似的外壳。

例如,在我的 Debian 系统上,用户tftpunbound用于运行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

相关内容