Jak ukryć konkretnego użytkownika na ekranie logowania?

84

Jak ukryć konkretnego użytkownika przed ekranem logowania przy domyślnej instalacji wersji 11.10 i nowszej? (tj. używając Unity Greeter)?

obrzydliwie
źródło

Odpowiedzi:

91

Jeśli Twój system używa AccountsService, nie możesz ukryć użytkownika przed ekranem powitania poprzez ponowną konfigurację, lightdmponieważ odracza się AccountsService. Jest to bardzo wyraźnie określone w komentarzach w /etc/lightdm/users.conf.


Zamiast tego musisz ponownie skonfigurować AccountsService.

Aby ukryć użytkownika o nazwie XXX, utwórz plik o nazwie

/var/lib/AccountsService/users/XXX

zawierający dwie linie:

[User]
SystemAccount=true

Jeśli plik już istnieje, dopisz SystemAccount=truelinię do [User]sekcji.

Marc Culler
źródło
4
działa na instalacji waniliowej 14.04
frnhr
3
Przetestowano również działanie na Ubuntu 16.04.
Sopalajo de Arrierez,
1
Działa to również na Ubuntu 17.10 z Gnome 3
Schuh
I nadal jest poprawną odpowiedzią na Ubuntu 19.04 Disco Dingo.
Aiyion.Prime
1
Działa to na Ubuntu 19.04. Pamiętaj, aby użyć XXX jako rzeczywistej nazwy użytkownika, a nie aliasu. Na przykład nazwa użytkownika „postgres” ma alias „PostgreSQL”. W takim przypadku musisz użyć „postgres” jako nazwy pliku.
Juan García
40

Obecnie ta metoda nie działa z powodu błędu w lightdm.

Sprawdź status błędu przed zastosowaniem tej metody.


Oto, co chcesz zrobić:

Najpierw wykonaj kopię zapasową konfiguracji.

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

Następnie musisz edytować swoją konfigurację:

sudo nano /etc/lightdm/users.conf

Zobaczysz coś takiego:

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

Interesuje nas część tutaj:

hidden-users=nobody nobody4 noaccess

Aby ukryć nazwę użytkownika james, dodaj ją w następujący sposób:

hidden-users=nobody nobody4 noaccess james

Następnie uruchom ponownie komputer i powinien zniknąć.

Jako odniesienie do innych patrz

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

W niektórych wersjach lighdm (Ubuntu 14.04) musisz zmienić nazwę [UserAccounts]na [UserList](in /etc/lightdm/users.conf), aby ta metoda działała. (Jeśli jesteś zainteresowany, dlaczego może to być konieczne, zobacz common/user-list.c:321źródło lightdm).

jrg
źródło
Nie działa już 14.04, ale działa odpowiedź askubuntu.com/a/575390/7304 z @ marc-culler poniżej.
laurent
Wciąż nie naprawiony po sześciu latach, westchnienie :(
Bulletmagnet
@Bulletmagnet oraz Ubuntu nie używa już lightdm :(
jrg
Cokolwiek używa, problem występuje nadal :(
Bulletmagnet
15

Twoją opcją do momentu usunięcia błędu 857651 jest utworzenie użytkownika o identyfikatorze użytkownika <1000

Na przykład, aby przypisać nowy identyfikator użytkownika mniejszy niż 1000, (używamy 999) użyj tego polecenia

sudo usermod -u 999 user-name

Zamień na user-namerzeczywistą nazwę użytkownika, tak jak anwarlub detlyitp.

OerHeks
źródło
3
Ten ukrywa użytkownika, ale jeśli zmiany UID można też chcą zmienić GID, ponieważ są one zwykle ten sam numer: sudo groupmod -g999 user-name. I jak wspomina dqvn2002 w swojej odpowiedzi, dla Ubuntu 12.04 potrzebujesz liczby <500, więc 999 nie będzie działać.
Lambart
2
I nie zapomnij! Po zmianie identyfikatora użytkownika wszelkie prywatne pliki należące do tego użytkownika nagle staną się niedostępne. Musisz uruchomić (np sudo chown -R user-name:user-name /home/user-name. ) .
Lambart
8

ponieważ instalacja Ubuntu 12.04

[UserAccounts]  
minimum-uid=500

więc musimy zmniejszyć uidmniej niż 500

przykład: sudo usermod -u 499 user-name

Działa ze mną! ROZWIĄZANE Powodzenia.

dqvn2002
źródło
Możesz chcieć / potrzebować również zmienić identyfikator grupy i chownwszelkie pliki należące do użytkownika, jak skomentowałem odpowiedź OerHeksa.
Lambart
4

Ta metoda nie działa na Ubuntu 13.10.

Aby poprawnie ukryć nazwy logowania użytkownika Musisz otworzyć konfigurację LightDM:

sudo vim /etc/lightdm/lightdm.conf

i dodaj następujące opcje:

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

Następnie zapisz i uruchom ponownie. To wszystko.

Artur Yarosh
źródło
2
Przyjęta metoda nadal nie działa 14.04 i wydaje mi się, że najlepszym rozwiązaniem jest też ręczne logowanie. W 14.04 dodaj wiersze wymienione w tej odpowiedzi do /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf .. jeśli chcesz również wyłączyć użytkownika-gościa, to dodaj allow-guest = false
Luca Borrione
1

To odmiana odpowiedzi Jamesa. Możesz ukryć użytkowników w lightDM, po prostu przypisując im identyfikator poniżej minimalnego identyfikatora znalezionego w:

/etc/lightdm/users.conf

Na moim komputerze było to 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

Możesz łatwo zmienić UID w terminalu:

sudo usermod -u PutUserNameHere

Działa na moim komputerze (w 2016 r.), Więc zgaduję, że błąd lightDM, o którym Eliah Kagan wspomniał w 2014 r. W odniesieniu do odpowiedzi Jamesa, został rozwiązany.

thebunnyrules
źródło