我的系统有很多用户,我从未创建过,例如mysql
或tomcat
。这些用户内部没有主目录/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
或类似的内容来使任何用户无法从控制台登录。您可以使用-s
to执行此操作,或者可以使用例如useradd
更改现有用户。chsh -s /sbin/nologin
答案2
您可以按照与普通用户相同的方式添加用户。只要创建他们的 shell 路径/sbin/nologin
就可以了。
阅读 useradd 手册以获取更多信息:$ man useradd