Jak ukryć konkretnego użytkownika przed ekranem logowania przy domyślnej instalacji wersji 11.10 i nowszej? (tj. używając Unity Greeter)?
Jak ukryć konkretnego użytkownika przed ekranem logowania przy domyślnej instalacji wersji 11.10 i nowszej? (tj. używając Unity Greeter)?
Odpowiedzi:
Jeśli Twój system używa AccountsService
, nie możesz ukryć użytkownika przed ekranem powitania poprzez ponowną konfigurację, lightdm
ponieważ 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=true
linię do [User]
sekcji.
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).
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-name
rzeczywistą nazwę użytkownika, tak jak anwar
lub detly
itp.
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ć.
sudo chown -R user-name:user-name /home/user-name
. ) .
ponieważ instalacja Ubuntu 12.04
[UserAccounts]
minimum-uid=500
więc musimy zmniejszyć uid
mniej niż 500
przykład: sudo usermod -u 499 user-name
Działa ze mną! ROZWIĄZANE Powodzenia.
chown
wszelkie pliki należące do użytkownika, jak skomentowałem odpowiedź OerHeksa.
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.
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.