当前位置: 首页>>技术教程>>正文


如何从登录屏幕隐藏特定用户?

, ,

问题描述

如何在11.10及更高版本的默认安装中从登录屏幕隐藏特定用户? (即使用Unity Greeter)?

最佳解决方法

如果您的系统使用AccountsService,则无法通过重新配置lightdm来隐藏用户,因为它会按照AccountsService/etc/lightdm/users.conf的评论清楚地表明了这一点。


你需要做的是重新配置AccountsService

要隐藏名为XXX的用户,请创建一个名为的文件

/var/lib/AccountsService/users/XXX

包含两行:

[User]
SystemAccount=true

如果该文件已存在,请确保将SystemAccount=true行附加到[User]部分。

次佳解决方法

目前由于lightdm中的bug,此方法不起作用。

在应用此方法之前,请检查错误状态。


下面你想要做什么:

首先,对你的配置进行备份。

sudo cp /etc/lightdm/users.conf /etc/lightdm/users.conf.bak

然后,你需要编辑你的配置:

sudo nano /etc/lightdm/users.conf

你会看到这样的东西:

#
# User accounts configuration
#
# NOTE: If you have AccountsService installed on your system, then LightDM will
# use this instead and these settings will be ignored
#
# minimum-uid = Minimum UID required to be shown in greeter
# hidden-users = Users that are not shown to the user
# hidden-shells = Shells that indicate a user cannot login
#
[UserAccounts]
minimum-uid=500
hidden-users=nobody nobody4 noaccess
hidden-shells=/bin/false /usr/sbin/nologin

我们感兴趣的是这里的一部分:

hidden-users=nobody nobody4 noaccess

要隐藏用户名james,只需像这样添加它:

hidden-users=nobody nobody4 noaccess james

然后,重新启动您的电脑,它应该消失。

作为对其他人的参考,请参阅

参见https://bugs.launchpad.net/ubuntu/+source/accountsservice/+bug/857651

在某些版本的lighdm(Ubuntu 14.04)中,您需要将[UserAccounts]重命名为[UserList](在/etc/lightdm/users.conf中)以使此方法起作用。 (如果您有兴趣了解为什么这可能是必要的,请参阅来自lightdm源代码的common/user-list.c:321。)

第三种解决方法

您的选项,直到bug 857651被修正为使用uid< 1000

例如,要分配小于1000的新uid(我们使用999),请使用此命令

sudo usermod -u 999 user-name

用实际的用户名替换user-name,就像anwardetly等一样。

第四种方法

因为Ubuntu 12.04安装程序

[UserAccounts]  
minimum-uid=500

所以我们需要减少uid小于500

例如:sudo usermod -u 499 user-name

它与我合作!已解决祝你好运。

第五种方法

此方法在Ubuntu 13.10上无效。

要正确隐藏用户登录名您必须打开LightDM config:

sudo vim /etc/lightdm/lightdm.conf

并添加以下选项:

greeter-hide-users=true
greeter-show-manual-login=true

然后保存并重新启动。就这样。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1018.html,未经允许,请勿转载。