Como ocultar um usuário específico da tela de login?


85

Como ocultar um usuário específico da tela de login em uma instalação padrão 11.10 e superior? (ou seja, usando o Unity Greeter)?

Respostas:


92

Se o seu sistema usa AccountsService, você não pode ocultar um usuário da tela greeter reconfigurando, lightdmporque é o contrário AccountsService. Isso é afirmado com muita clareza nos comentários em /etc/lightdm/users.conf.


O que você precisa fazer é reconfigurar AccountsService.

Para ocultar um usuário chamado XXX, crie um arquivo chamado

/var/lib/AccountsService/users/XXX

contendo duas linhas:

[User]
SystemAccount=true

Se o arquivo já existir, anexe a SystemAccount=truelinha à [User]seção.


4
funciona na instalação baunilha 14.04
frnhr 15/03/2015

3
Testado trabalhando no Ubuntu 16.04 também.
Sopalajo de Arrierez

1
Isso funciona também no Ubuntu 17.10 com Gnome 3
Schuh 15/18

E ainda é a resposta correta para o Ubuntu 19.04 Disco Dingo.
Aiyion.Prime

1
Isso está funcionando no Ubuntu 19.04. Lembre-se de usar XXX como o nome de usuário real, não o alias. Por exemplo, o nome de usuário 'postgres' possui o alias 'PostgreSQL'. Nesse caso, você deve usar 'postgres' como o nome do arquivo.
Juan García

40

Atualmente, este método não está funcionando devido a um erro no lightdm.

Por favor, verifique o status do bug antes de aplicar este método.


Aqui está o que você quer fazer:

Primeiro, faça um backup da sua configuração.

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

Então, você precisa editar sua configuração:

sudo nano /etc/lightdm/users.conf

Você verá algo assim:

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

De interesse para nós é a parte aqui:

hidden-users=nobody nobody4 noaccess

Para ocultar o nome de usuário james, adicione-o assim:

hidden-users=nobody nobody4 noaccess james

Em seguida, reinicie o computador e ele deve ter sumido.

Como referência a outros, consulte

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

Em algumas versões do lighdm (Ubuntu 14.04), você precisa renomear [UserAccounts]para [UserList](in /etc/lightdm/users.conf) para que este método funcione. (Se você estiver interessado em saber por que isso pode ser necessário, consulte a common/user-list.c:321fonte lightdm.)


Não funciona mais no 14.04, mas a resposta askubuntu.com/a/575390/7304 de @ marc-culler abaixo funciona.
laurent

Ainda não foi consertado após seis anos, suspiro :(
Bulletmagnet

@Bulletmagnet bem O Ubuntu não está mais usando o lightdm :(
jrg

Qualquer que seja o uso, o problema persiste :(
Bulletmagnet

16

Sua opção até o bug 857651 ser corrigido é criar o usuário com uid <1000

Por exemplo, para atribuir um novo uid menor que 1000, (estamos usando 999), use este comando

sudo usermod -u 999 user-name

Substitua user-namepor pelo nome de usuário real, exatamente como anwarou detlyetc.


3
Isto esconde o usuário, mas se você está mudando o uid você também pode querer mudar o GID, uma vez que são normalmente o mesmo número: sudo groupmod -g999 user-name. E como o dqvn2002 menciona em sua resposta, para o Ubuntu 12.04 você precisará de um número <500, para que 999 não funcione.
Lambart 07/02

2
E não esqueça! Quando você altera a identificação do usuário, todos os arquivos particulares pertencentes a esse usuário tornam-se subitamente inacessíveis. Você precisará executar (por exemplo) sudo chown -R user-name:user-name /home/user-name.
Lambart 07/02

8

porque a instalação do Ubuntu 12.04

[UserAccounts]  
minimum-uid=500

então precisamos reduzir o uidmenos de 500

exemplo: sudo usermod -u 499 user-name

Funciona comigo! RESOLVIDO Boa sorte.


Você também pode querer / precisar alterar a identificação do grupo e chowntodos os arquivos pertencentes ao usuário, como comentei na resposta do OerHeks.
Lambart 07/02

4

Este método não funciona no Ubuntu 13.10.

Para ocultar os nomes de login do usuário corretamente Você deve abrir a configuração do LightDM:

sudo vim /etc/lightdm/lightdm.conf

e adicione as seguintes opções:

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

Em seguida, salve e reinicie. Isso é tudo.


2
O método aceito ainda não está funcionando no 14.04 e mostrar o login manual também me parece a melhor opção. No 14.04, adicione as linhas listadas nesta resposta a /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf .. se você quiser também desativar o usuário convidado, acrescente allow-guest = false
Luca Borrione

1

Essa é uma variação da resposta de James. Você pode ocultar os usuários no lightDM simplesmente atribuindo a eles um ID abaixo do ID mínimo encontrado em:

/etc/lightdm/users.conf

No meu PC, eram 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

Você pode alterar o UID easilly no terminal:

sudo usermod -u PutUserNameHere

Como funciona no meu PC (em 2016), acho que o bug do lightDM que Eliah Kagan mencionou em 2014 com relação à resposta de James foi resolvido.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.