如何添加未在 lightdm 登录屏幕窗口或用户帐户中显示的系统用户?

如何添加未在 lightdm 登录屏幕窗口或用户帐户中显示的系统用户?

我想创建一个没有登录名、没有主页且不会显示在 lightdm 登录屏幕窗口或用户帐户工具中的用户。就像 /etc/passwd 中的其他用户一样:sshd、syslog、avahi...

我已尝试使用以下命令行:

useradd -r -u 1001 -M -g 1001 media

但我仍然可以在用户帐户工具中看到该用户:

在此处输入图片描述

提前致谢!!

注意:有人声称这个问题是重复的,但我不这么认为。主要区别在于我想要创建一种永远不会显示在 lightdm 登录屏幕窗口或用户帐户工具中的用户。没有正确定义的 $home 的用户是另一回事。

答案1

实现此目的的标准方法无需在用户创建方面花费太多功夫,只需配置 lightdm 即可。

添加/etc/lightdm/users.conf以下行

[UserList]
hidden-users=media

然后,该用户media将从 lightdm 用户列表中隐藏。该配置文件可能已经包含其他用户名nobody nobody4 noaccess,例如,在这种情况下,请添加您想要的用户名,并用空格分隔。因此,该行将变成这样

hidden-users=nobody nobody4 noaccess media

您不需要创建 uid 小于 500 的用户来实现这一点。

为了完成,您可以创建一个没有主目录的用户,并使用此命令使其成为系统用户

sudo adduser --no-create-home --ingroup admin media

此处--no-create-home将阻止为用户创建主目录,并将--ingroup admin用户添加到admin组,即 Ubuntu 的默认管理组。在较旧的 Ubuntu 版本中,该组称为sudowheel

答案2

使用此命令:

$ sudo adduser --no-create-home --disabled-login --shell /bin/false --system --uid 1001 media
$ sudo addgroup --gid 1001 media

运行测试时,使用手册页中的参数,命令-gid中的adduser应该根据指定的名称和提供的编号创建组。但是,此功能显然已更改,而文档未更新。在测试中,指定 失败--gid并显示错误:adduser: The GID 1001 does not exist。因此,我在创建用户时删除了--gid以创建新编号,并添加了第二个命令来为新用户创建组。

更新:

按目录中的 UserID 编辑文件/var/lib/AccountsService/users以包含以下行:

在这种情况下运行此命令:

$ sudo nano /var/lib/AccountsService/users/media

然后确保包含以下两行:

(如果用户已登录,则会自动创建该文件。如果用户尚未登录,则该文件不存在。您可以使用上面的命令行手动创建它。)

[用户]
系统帐户=true

现在重新启动或重新启动 lig​​htdm 服务(取决于你的 Ubuntu 版本):

(为避免退出,您可以使用 ++Lightdm重新Ctrl启动。然后从控制台运行以下命令。)AltF2

$ sudo service lightdm restart

或(Ubuntu 16.04 及更高版本)

$ sudo systemctl restart lightdm

注意:
默认情况下,低于 500 的 USERID 会被自动隐藏。

该文件中可以找到更新中的一些信息/etc/lightdm/users.conf

相关内容