Belirli bir kullanıcıyı giriş ekranından nasıl gizlerim?


84

Varsayılan bir 11.10 ve üzeri kurulumlarda belirli bir kullanıcıyı giriş ekranından nasıl gizlerim? (yani Unity Greeter kullanarak)?

Yanıtlar:


91

Sisteminiz kullanıyorsa AccountsService, siz olamaz konfigüre ederek karşılayıcı ekranından bir kullanıcıyı gizlemek lightdmo kadar ertelemektedir çünkü AccountsService. Bu açıklamalarda çok açıkça belirtilmiştir /etc/lightdm/users.conf.


Bunun yerine yapmanız gereken şey yeniden yapılandırmak AccountsService.

Adlı bir kullanıcıyı gizlemek için adlı XXXbir dosya oluşturun.

/var/lib/AccountsService/users/XXX

iki satır içeren:

[User]
SystemAccount=true

Dosya zaten varsa, SystemAccount=truesatırı [User]bölüme eklediğinizden emin olun .


4
vanilya üzerinde 14.04 kurulum işleri
frnhr

3
Ubuntu 16.04 üzerinde çalışan testler de yapıldı.
Sopalajo de Arrierez 11:17

1
Bu Gnome 3 ile Ubuntu 17.10 da çalışır
Schuh

Ve hala Ubuntu 19.04 Disco Dingo için doğru cevap.
Aiyion.Prime

1
Bu Ubuntu 19.04 üzerinde çalışıyor. XXX’ı takma adı değil gerçek kullanıcı adı olarak kullanmayı unutmayın. Örneğin, 'postgres' kullanıcı adı 'PostgreSQL' takma adına sahiptir. Bu durumda, 'postgres' dosyasını dosya adı olarak kullanmanız gerekir.
Juan García,

40

Şu anda bu yöntem lightdm'deki bir hata nedeniyle çalışmıyor.

Lütfen bu yöntemi uygulamadan önce hata durumunu kontrol edin.


Heres ne yapmak istiyorsan:

İlk önce, config ayarınızın bir yedeğini alın.

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

Ardından, config ayarlarınızı düzenlemeniz gerekir:

sudo nano /etc/lightdm/users.conf

Bunun gibi bir şey göreceksiniz:

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

Bizi ilgilendiren bölüm burası:

hidden-users=nobody nobody4 noaccess

Kullanıcı adını gizlemek için jamesbu şekilde eklemeniz yeterlidir:

hidden-users=nobody nobody4 noaccess james

Sonra bilgisayarınızı yeniden başlatın ve gitmiş olması gerekir.

Başkalarına referans olarak, bkz.

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

Lighdm bazı sürümlerinde (Ubuntu 14.04) üzerinde yeniden adlandırmak gerekir [UserAccounts]için [UserList](içinde /etc/lightdm/users.confçalışmak bu yöntem için). (Bunun neden gerekli olabileceği ile ilgileniyorsanız common/user-list.c:321, lightdm kaynağından bakın.)


Artık 14.04'te çalışmıyor, ancak aşağıda yer alan @ marc-culler'dan askubuntu.com/a/575390/7304 yanıtını verin .
laurent

Hala altı yıldan sonra hala sabit değil, iç çekiş :(
Bulletmagnet

@Bulletmagnet iyi Ubuntu artık lightdm kullanmıyor :(
jrg

Her ne kullanıyorsa kullanın, sorun devam ediyor :(
Bulletmagnet

15

857651 numaralı hata düzeltilinceye kadar seçeneğiniz , kullanıcıyı <1000 kullanıcı kimliğiyle oluşturmaktır.

Örneğin, 1000'den daha az yeni kullanıcı kimliği atamak için (999 kullanıyoruz) bu komutu kullanın

sudo usermod -u 999 user-name

user-nameGerçek kullanıcı adı, tıpkı anwarya da detlyvb. İle değiştirin .


3
Bu kullanıcıyı gizler, ancak uid değiştirirken eğer siz de genellikle aynı sayıda olduğundan, gid değiştirmek isteyebilirsiniz: sudo groupmod -g999 user-name. Dqvn2002'nin cevabında da belirttiği gibi, Ubuntu 12.04 için <500 olan bir sayıya ihtiyacınız olacak, böylece 999 çalışmayacak.
Lambart

2
Ve unutma! Kullanıcı kimliğini değiştirdiğinizde, o kullanıcının sahip olduğu herhangi bir özel dosyaya aniden erişilemez hale gelir. Koşman gerekecek (örn.) sudo chown -R user-name:user-name /home/user-name.
Lambart

8

çünkü Ubuntu 12.04 kurulumu

[UserAccounts]  
minimum-uid=500

bu yüzden uid500'den az azaltmak gerekir

örnek: sudo usermod -u 499 user-name

Benimle çalışıyor! ÇÖZÜLMÜŞ İyi şanslar.


chownOerHeks'in cevabını yorumladığım gibi grup kimliğini ve kullanıcının sahip olduğu dosyaları da değiştirmek isteyebilirsiniz / gerekebilir .
Lambart

4

Bu yöntem Ubuntu 13.10'da işe yaramaz.

Kullanıcı oturum açma adlarını doğru şekilde gizlemek için LightDM config'i açmanız gerekir:

sudo vim /etc/lightdm/lightdm.conf

ve aşağıdaki seçenekleri ekleyin:

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

Sonra kaydedin ve yeniden başlatın. Bu kadar.


2
Kabul edilen yöntem hala 14.04'te çalışmıyor ve manuel oturum açmayı göstermek de benim için en iyi seçenek gibi görünüyor. 14.04'te, bu cevabı listelenen satırları /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf .. 'a ekleyin. Konuk kullanıcıyı da devre dışı bırakmak istiyorsanız, allow-guest = false ekleyin
Luca Borrione

1

Bu James'in cevabının bir çeşitlemesi. LightDM'deki kullanıcıları, içinde bulunan minimum kimliğin altına bir kimlik atayarak gizleyebilirsiniz:

/etc/lightdm/users.conf

Benim bilgisayarımda 1000 idi

# 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

Terminalde UID easilly'yi değiştirebilirsiniz:

sudo usermod -u PutUserNameHere

Bilgisayarımda çalışıyor (2016'da), bu nedenle Eliah Kagan'ın 2014'te James'in cevabı ile ilgili olarak bahsettiği lightDM hatasını düzelttiğimi tahmin ediyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.