Bagaimana cara menyembunyikan pengguna tertentu dari layar masuk?

85

Bagaimana cara menyembunyikan pengguna tertentu dari layar masuk pada pemasangan default 11.10 dan lebih tinggi? (mis. menggunakan Unity Greeter)?

detly
sumber

Jawaban:

92

Jika sistem Anda menggunakan AccountsService, Anda tidak dapat menyembunyikan pengguna dari layar penyapa dengan mengkonfigurasi ulang lightdmkarena itu menolak AccountsService. Itu dinyatakan dengan sangat jelas dalam komentar di /etc/lightdm/users.conf.


Yang perlu Anda lakukan adalah mengkonfigurasi ulang AccountsService.

Untuk menyembunyikan nama pengguna XXX, buat file dengan nama

/var/lib/AccountsService/users/XXX

mengandung dua baris:

[User]
SystemAccount=true

Jika file sudah ada, pastikan Anda menambahkan SystemAccount=truebaris ke [User]bagian.

Marc Culler
sumber
4
bekerja pada pengaturan vanilla 14,04
frnhr
3
Diuji bekerja di Ubuntu 16.04 juga.
Sopalajo de Arrierez
1
Ini juga berfungsi di Ubuntu 17.10 dengan Gnome 3
Schuh
Dan masih merupakan jawaban yang tepat untuk Ubuntu 19.04 Disco Dingo.
Aiyion.Prime
1
Ini bekerja pada Ubuntu 19.04. Ingatlah untuk menggunakan XXX sebagai nama pengguna sebenarnya, bukan alias. Sebagai contoh, nama pengguna 'postgres' memiliki alias 'PostgreSQL'. Dalam hal ini, Anda harus menggunakan 'postgres' sebagai nama file.
Juan García
40

Saat ini metode ini tidak berfungsi karena bug di lightdm.

Silakan periksa status bug sebelum menerapkan metode ini.


Inilah yang ingin Anda lakukan:

Pertama, buat cadangan konfigurasi Anda.

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

Kemudian, Anda perlu mengedit konfigurasi Anda:

sudo nano /etc/lightdm/users.conf

Anda akan melihat sesuatu seperti ini:

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

Yang menarik bagi kami adalah bagian di sini:

hidden-users=nobody nobody4 noaccess

Untuk menyembunyikan nama pengguna james, tambahkan saja seperti ini:

hidden-users=nobody nobody4 noaccess james

Kemudian, reboot komputer Anda dan itu harus pergi.

Sebagai referensi kepada orang lain, lihat

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

Pada beberapa versi lighdm (Ubuntu 14.04), Anda perlu mengganti nama [UserAccounts]menjadi [UserList](in /etc/lightdm/users.conf) agar metode ini berfungsi. (Jika Anda tertarik mengapa ini diperlukan, lihat common/user-list.c:321dari sumber lightdm.)

jrg
sumber
Tidak berfungsi pada 14.04 lagi tetapi jawab askubuntu.com/a/575390/7304 dari @ marc-culler di bawah ini berfungsi.
laurent
Masih belum diperbaiki setelah enam tahun, desah :(
Bulletmagnet
@Bulletmagnet juga Ubuntu tidak menggunakan lightdm lagi :(
jrg
Apa pun yang digunakan, masalahnya tetap ada :(
Bulletmagnet
16

Pilihan Anda sampai bug 857651 diperbaiki adalah membuat pengguna dengan uid <1000

Misalnya, untuk menetapkan uid baru kurang dari 1000, (kami menggunakan 999) gunakan perintah ini

sudo usermod -u 999 user-name

Ganti user-namedengan nama pengguna yang sebenarnya, seperti anwaratau detlydll.

OerHeks
sumber
3
Ini menyembunyikan pengguna, tetapi jika Anda mengubah uid Anda juga mungkin ingin mengubah gid, karena mereka biasanya nomor yang sama: sudo groupmod -g999 user-name. Dan seperti yang disebutkan dqvn2002 dalam jawaban mereka, untuk Ubuntu 12.04 Anda memerlukan angka <500, jadi 999 tidak akan berfungsi.
Lambart
2
Dan jangan lupa! Ketika Anda mengubah id pengguna, file pribadi apa pun yang dimiliki oleh pengguna itu akan tiba-tiba menjadi tidak dapat diakses. Anda harus menjalankan (mis sudo chown -R user-name:user-name /home/user-name. ) .
Lambart
8

karena pengaturan Ubuntu 12.04

[UserAccounts]  
minimum-uid=500

jadi kita perlu mengurangi uidkurang dari 500

contoh: sudo usermod -u 499 user-name

Itu bekerja dengan saya! ASK Semoga berhasil.

dqvn2002
sumber
Anda mungkin ingin / perlu juga mengubah id grup, dan chownfile apa pun yang dimiliki oleh pengguna, seperti yang saya komentari pada jawaban OerHeks.
Lambart
4

Metode ini tidak berfungsi di Ubuntu 13.10.

Untuk menyembunyikan nama login pengguna dengan benar, Anda harus membuka konfigurasi LightDM:

sudo vim /etc/lightdm/lightdm.conf

dan tambahkan opsi berikut:

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

Kemudian simpan dan reboot. Itu saja.

Artur Yarosh
sumber
2
Metode yang diterima masih belum berfungsi pada 14,04 dan menunjukkan login manual menurut saya juga pilihan terbaik. Dalam 14,04 tambahkan baris yang tercantum dalam jawaban ini ke /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf .. jika Anda ingin juga menonaktifkan pengguna tamu kemudian tambahkan allow-guest = false
Luca Borrione
1

Ini variasi jawaban James. Anda dapat menyembunyikan pengguna di lightDM dengan hanya memberi mereka ID di bawah ID minimum yang ditemukan di:

/etc/lightdm/users.conf

Di PC saya jumlahnya 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

Anda dapat mengubah UID dengan mudah di terminal:

sudo usermod -u PutUserNameHere

Ini berfungsi pada PC saya (pada tahun 2016), jadi saya kira bug lightDM yang Eliah Kagan sebutkan pada tahun 2014 sehubungan dengan jawaban James telah diselesaikan.

aturan kebun
sumber