Як приховати конкретного користувача на екрані входу?


84

Як приховати конкретного користувача з екрана входу під час встановлення за замовчуванням 11.10 і вище? (тобто, використовуючи Unity Greeter)?

Відповіді:


91

Якщо ваша система використовує AccountsService, ви не можете приховати користувача на екрані привітання, перенастроюючи lightdmйого, оскільки він відкладений AccountsService. Про це дуже чітко сказано в коментарях в /etc/lightdm/users.conf.


Що потрібно зробити замість цього - це переналаштування AccountsService.

Щоб приховати імені користувача XXX, створіть файл з ім’ям

/var/lib/AccountsService/users/XXX

містить два рядки:

[User]
SystemAccount=true

Якщо файл вже існує, обов’язково додайте SystemAccount=trueрядок до [User]розділу.


4
працює над налаштуваннями ванілі 14.04
frnhr

3
Тестовано також на Ubuntu 16.04.
Sopalajo de Arrierez

1
Це також працює на Ubuntu 17.10 з Gnome 3
Schuh

І все ще є правильною відповіддю для Ubuntu 19.04 Disco Dingo.
Aiyion.Prime

1
Це працює на Ubuntu 19.04. Не забудьте використовувати XXX як власне ім’я користувача, а не псевдонім. Наприклад, ім'я користувача "postgres" має псевдонім "PostgreSQL". У цьому випадку ви повинні використовувати "postgres" як ім'я файлу.
Хуан Гарсія

40

В даний час цей метод не працює через помилку в lightdm.

Перевірте стан помилки перед застосуванням цього методу.


Ось що ви хочете зробити:

Спочатку зробіть резервну копію конфігурації.

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](in /etc/lightdm/users.conf). (Якщо вас цікавить, чому це може знадобитися, дивіться common/user-list.c:321з джерела lightdm.)


Більше не працює 14.04, але відповідь askubuntu.com/a/575390/7304 від @ marc-culler нижче працює.
Лоран

Ще не виправлено через шість років, зітхання :(
Bulletmagnet

@Bulletmagnet добре Ubuntu вже не використовує lightdm :(
jrg

Незважаючи на те, що він використовує, проблема зберігається :(
Bulletmagnet

15

Ваш варіант, поки помилка 857651 не буде виправлена, - це створити користувача з uid <1000

Наприклад, для призначення нового uid менше 1000 (ми використовуємо 999) використовуйте цю команду

sudo usermod -u 999 user-name

Замініть на user-nameвласне ім’я користувача, так само, як anwarі detlyт.д.


3
Це приховує користувача, але якщо ви змінюєте UID ви також можете змінити GID, так як вони, як правило , той же номер: sudo groupmod -g999 user-name. І як згадує dqvn2002 у своїй відповіді, для Ubuntu 12.04 вам знадобиться число <500, тож 999 не працюватиме.
Ламбарт

2
І не забувайте! При зміні ідентифікатора користувача будь-які приватні файли, що належать цьому користувачеві, раптом стануть недоступними. Вам потрібно буде запустити (наприклад) sudo chown -R user-name:user-name /home/user-name.
Ламбарт

8

оскільки налаштування Ubuntu 12.04

[UserAccounts]  
minimum-uid=500

тому нам потрібно зменшити uidменше 500

приклад: sudo usermod -u 499 user-name

Це працює зі мною! РЕШЕНО Удачі.


Ви також можете змінити ідентифікатор групи та chownбудь-які файли, що належать користувачеві, як я прокоментував відповідь OerHeks.
Ламбарт

4

Цей метод не працює на Ubuntu 13.10.

Щоб правильно приховати імена для входу користувачів. Ви повинні відкрити конфігурацію LightDM:

sudo vim /etc/lightdm/lightdm.conf

і додайте наступні параметри:

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

Потім збережіть і перезавантажте. Це все.


2
Прийнятий метод досі не працює 14.04, і показ ручного входу здається мені також найкращим варіантом. У 14.04 додайте рядки, перелічені у цій відповіді, до /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf .. Якщо ви також хочете відключити гостя, тоді додайте дозволу-гостя = false
Лука Borrione

1

Це варіація відповіді Джеймса. Ви можете приховати користувачів у lightDM, просто призначивши їм ідентифікатор нижче мінімального ідентифікатора, знайденого в:

/etc/lightdm/users.conf

На моєму ПК це було 1000

# 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=1000

Ви можете легко змінити UID в терміналі:

sudo usermod -u PutUserNameHere

Це працює на моєму ПК (у 2016 році), тому я думаю, що помилка lightDM, про яку згадував Елія Каган у 2014 році щодо відповіді Джеймса, була вирішена.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.