如何在 KDE 登录屏幕上隐藏账户?

如何在 KDE 登录屏幕上隐藏账户?

我在笔记本电脑上运行 CentOS 7 虚拟机,并使用 KDE(版本 4.14.8)。该虚拟机充当 Ansible 控制塔,我的 Ansible 描述由此应用到我在同一台笔记本电脑上使用的其他(无头)虚拟机。

我的问题是图形登录屏幕显示了我的帐户以及帐户ansible。我认为系统帐户不会出现在该列表中,因此我创建了一个系统帐户。但这是我的文件ansible的摘录:/etc/passwd

hg:x:1002:1002:Mercurial SCM:/home/hg:/bin/bash
saned:x:986:980:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
backupscript:x:1003:1004:Data backup script:/home/backupscript:/sbin/nologin
ansible:x:985:979::/home/ansible:/bin/bash

可以看出,hg是一个用户帐户,但它没有出现在登录屏幕上,这对我来说意味着用户帐户与系统帐户的区别不是决定帐户是否显示在登录屏幕上的因素。

如何在登录屏幕上隐藏帐户?

答案1

在 Kubuntu 中,您可以添加行隐藏用户=ansible/etc/sddm.conf.d/kde_settings.conf在下面[用户]部分。

自动化:

(
  username=ansible
  sudo mkdir -p /etc/sddm.conf.d
  echo "[Users]" | sudo tee /etc/sddm.conf.d/hide_${username}.conf
  echo "HideUsers=$username" | sudo tee -a /etc/sddm.conf.d/hide_${username}.conf
)

希望这会有所帮助。

答案2

要隐藏用户帐户,您可以添加隐藏用户=ansible在 /etc/sddm.conf 中的 [用户] 会话下。

答案3

从 KDE 5 开始,星载数字多模光纤是默认的登录管理器。由于您运行的是 KDE 4,我预计您的系统会使用凯迪拉克相反。KDM 手册不再在线,但 Wayback Machine 来拯救你了!

第四章说你可以通过系统设置→登录管理器做你需要做的事情,但是它没有给出具体细节:

用户

从这里您可以更改用户在登录窗口中的显示方式。

您可以使用系统 UID 来指定列表中显示的有效 UID 范围,而不考虑您通过名称指定的用户。默认情况下,用户 ID 低于 1000(通常是系统或守护程序用户)和用户 ID 高于 30000 的用户不会显示。

或者第五章说你可以编辑kdmrc

显示用户

此选项控制哪些用户将显示在用户视图中(用户列表)和/或提供自动完成功能(用户完成)。 如果是Selected选定用户包含最终的用户列表。如果是NotHidden,则初始用户列表包含系统中找到的所有用户。包含在隱藏使用者将从列表中删除,就像所有 UID 大于指定的用户一样最大显示UID以及 UID 非零且小于指定的用户最小显示UID. 物品选定用户隱藏使用者以 为前缀的@表示该项目所命名的用户组中的所有用户。最后,用户列表将按字母顺序排序,如果排序用户已启用。

默认值为“NotHidden”。

(快速搜索表明该文件应位于/etc/kde4/kdm/kdmrc。)


有趣的是,您的UID/etc/passwdansible985…所以默认情况下它应该已被隐藏。上述任一配置选项都可能让您看到此默认设置已被以某种方式覆盖。

如果其他方法都失败了,您可以手动将用户更改ansible为其他 UID,看看是否能解决问题。

首先,找到一个未使用的 UID。此命令将列出所有用过的那些:

$ awk -F: '$0=$3 "\t"$1' /etc/passwd | sort -g

然后,假设您发现 39001 可用,请像这样更改 UID:

$ sudo usermod -u 39001 ansible

请注意,任何拥有的文件ansible只会更新其所有权如果它们位于ansible主目录中/home/ansible根据您的/etc/passwd)。其他任何ansible拥有的东西都需要chown手动进行。

相关内容