如何添加mysql或tomcat等“系统”本地用户?

如何添加mysql或tomcat等“系统”本地用户?

我的系统有很多用户,我从未创建过,例如mysqltomcat。这些用户内部没有主目录/home

显然,守护程序在这些用户下运行。

此类用户的术语是什么?

如何创建我自己的此类用户?例如,我希望创建 的用户deluged,但我不想创建并记住它的密码,也不想允许某人从控制台使用此用户登录。

如何实现?

答案1

您可以给 useradd-r--system标志来告诉它您想要这样的用户(您已经称之为系统用户)。以下是我的系统手册页的摘录:

-r, --system
       Create a system account.

       System users will be created with no aging information in
       /etc/shadow, and their numeric identifiers are choosen in the
       SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead
       of UID_MIN-UID_MAX (and their GID counterparts for the creation of
       groups).

       Note that useradd will not create a home directory for such an
       user, regardless of the default setting in /etc/login.defs
       (CREATE_HOME). You have to specify the -m options if you want a
       home directory for a system account to be created.

/bin/false尽管您可以通过将 shell 设置为或/sbin/nologin或类似的内容来使任何用户无法从控制台登录。您可以使用-sto执行此操作,或者可以使用例如useradd更改现有用户。chsh -s /sbin/nologin

答案2

您可以按照与普通用户相同的方式添加用户。只要创建他们的 shell 路径/sbin/nologin就可以了。

阅读 useradd 手册以获取更多信息:$ man useradd

相关内容