Come nascondo un determinato utente dalla schermata di accesso?


85

Come posso nascondere un determinato utente dalla schermata di accesso su un'installazione predefinita di 11.10 e successive? (ad es. utilizzando Unity Greeter)?

Risposte:


92

Se il sistema utilizza AccountsService, non è possibile nascondere un utente dalla schermata di benvenuto riconfigurando lightdmperché non lo fa AccountsService. Ciò è affermato molto chiaramente nei commenti in /etc/lightdm/users.conf.


Quello che devi fare invece è riconfigurare AccountsService.

Per nascondere un utente denominato XXX, creare un file denominato

/var/lib/AccountsService/users/XXX

contenente due righe:

[User]
SystemAccount=true

Se il file esiste già, assicurati di aggiungere la SystemAccount=truelinea alla [User]sezione.


4
funziona su Vanilla 14.04 setup
dal

3
Testato anche su Ubuntu 16.04.
Sopalajo de Arrierez,

1
Funziona anche su Ubuntu 17.10 con Gnome 3
Schuh

Ed è ancora la risposta corretta per Ubuntu 19.04 Disco Dingo.
Aiyion.Prime

1
Questo funziona su Ubuntu 19.04. Ricorda di utilizzare XXX come nome utente effettivo, non come alias. Ad esempio, il nome utente 'postgres' ha l'alias 'PostgreSQL'. In questo caso, devi usare "postgres" come nome del file.
Juan García,

40

Attualmente questo metodo non funziona a causa di un bug in lightdm.

Verificare lo stato del bug prima di applicare questo metodo.


Ecco cosa vuoi fare:

Innanzitutto, esegui un backup della tua configurazione.

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

Quindi, è necessario modificare la configurazione:

sudo nano /etc/lightdm/users.conf

Vedrai qualcosa del genere:

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

Di interesse per noi è la parte qui:

hidden-users=nobody nobody4 noaccess

Per nascondere il nome utente james, basta aggiungerlo in questo modo:

hidden-users=nobody nobody4 noaccess james

Quindi, riavvia il computer e dovrebbe essere sparito.

Come riferimento ad altri, vedi

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

Su alcune versioni di lighdm (Ubuntu 14.04) è necessario rinominare [UserAccounts]in [UserList](in /etc/lightdm/users.conf) per far funzionare questo metodo. (Se sei interessato al perché questo potrebbe essere necessario, vedi common/user-list.c:321dalla fonte lightdm.)


Non funziona più su 14.04 ma rispondi a askubuntu.com/a/575390/7304 da @ marc-culler di seguito funziona.
laurent

Ancora non riparato dopo sei anni, sospiro :(
Bulletmagnet il

@Bulletmagnet bene Ubuntu non utilizza più lightdm :(
jrg

Qualunque cosa stia usando, il problema persiste :(
Bulletmagnet

16

La tua opzione fino alla correzione del bug 857651 è quella di creare l'utente con uid <1000

Ad esempio, per assegnare un nuovo uid inferiore a 1000, (stiamo usando 999) utilizzare questo comando

sudo usermod -u 999 user-name

Sostituisci user-namecon il nome utente effettivo, proprio come anwaro detlyecc.


3
Questo nasconde l'utente, ma se si sta cambiando l'uid si può anche voler cambiare il gid, dal momento che sono di solito lo stesso numero: sudo groupmod -g999 user-name. E come dqvn2002 menziona nella loro risposta, per Ubuntu 12.04 avrai bisogno di un numero <500, quindi 999 non funzionerà.
Lambart,

2
E non dimenticare! Quando si modifica l'id utente, tutti i file privati ​​di proprietà dell'utente diventeranno improvvisamente inaccessibili. Dovrai correre (ad es sudo chown -R user-name:user-name /home/user-name. ) .
Lambart,

8

perché l'installazione di Ubuntu 12.04

[UserAccounts]  
minimum-uid=500

quindi dobbiamo ridurre i uidmeno di 500

esempio: sudo usermod -u 499 user-name

Funziona con me! RISOLTO Buona fortuna.


Potrebbe essere necessario / necessario modificare anche l'ID del gruppo e chowntutti i file di proprietà dell'utente, come ho commentato la risposta di OerHeks.
Lambart,

4

Questo metodo non funziona su Ubuntu 13.10.

Per nascondere correttamente i nomi di accesso degli utenti È necessario aprire la configurazione di LightDM:

sudo vim /etc/lightdm/lightdm.conf

e aggiungi le seguenti opzioni:

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

Quindi salva e riavvia. È tutto.


2
Il metodo accettato non funziona ancora su 14.04 e mostrare l'accesso manuale mi sembra anche l'opzione migliore. In 14.04 aggiungi le righe elencate in questa risposta a /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf .. se vuoi disabilitare anche l'utente guest allora aggiungi allow-guest = false
Luca Borrione

1

Questa è una variazione della risposta di James. Puoi nascondere gli utenti in lightDM semplicemente assegnando loro un ID al di sotto dell'ID minimo trovato in:

/etc/lightdm/users.conf

Sul mio PC erano 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

Puoi cambiare UID facilmente nel terminale:

sudo usermod -u PutUserNameHere

Funziona sul mio PC (nel 2016), quindi immagino che il bug lightDM che Eliah Kagan ha menzionato nel 2014 per quanto riguarda la risposta di James sia stato risolto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.