答案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 版本中,该组称为sudo
或wheel
。
答案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
现在重新启动或重新启动 lightdm 服务(取决于你的 Ubuntu 版本):
(为避免退出,您可以使用 ++Lightdm
重新Ctrl启动。然后从控制台运行以下命令。)AltF2
$ sudo service lightdm restart
或(Ubuntu 16.04 及更高版本)
$ sudo systemctl restart lightdm
注意:
默认情况下,低于 500 的 USERID 会被自动隐藏。
该文件中可以找到更新中的一些信息/etc/lightdm/users.conf
。