ฉันจะซ่อนผู้ใช้เฉพาะจากหน้าจอเข้าสู่ระบบได้อย่างไร


84

ฉันจะซ่อนผู้ใช้เฉพาะจากหน้าจอเข้าสู่ระบบในการติดตั้งเริ่มต้นที่ 11.10 และสูงกว่าได้อย่างไร (เช่นใช้ Unity Greeter) หรือไม่

คำตอบ:


91

หากระบบของคุณใช้AccountsServiceคุณไม่สามารถซ่อนผู้ใช้จากหน้าจอรู้ตัวโดยกำหนดค่าเพราะมันจะคล้อยตามlightdm ที่มีการระบุไว้อย่างชัดเจนในความคิดเห็นในAccountsService/etc/lightdm/users.conf


สิ่งที่คุณต้องทำAccountsServiceแทนคือการกำหนดค่า

หากต้องการซ่อนชื่อผู้ใช้XXXให้สร้างไฟล์ชื่อ

/var/lib/AccountsService/users/XXX

มีสองบรรทัด:

[User]
SystemAccount=true

หากไฟล์มีอยู่แล้วตรวจสอบให้แน่ใจว่าคุณต่อท้ายSystemAccount=trueบรรทัดใน[User]ส่วน


4
ทำงานในการตั้งค่าวานิลลา 14.04
frnhr

3
ผ่านการทดสอบการทำงานบน Ubuntu 16.04 ด้วย
Sopalajo เด Arrierez

1
ใช้ได้กับ Ubuntu 17.10 กับ Gnome 3
Schuh

และยังคงเป็นคำตอบที่ถูกต้องสำหรับ Ubuntu 19.04 Disco Dingo
Aiyion.Prime

1
สิ่งนี้ทำงานบน Ubuntu 19.04 อย่าลืมใช้ XXX เป็นชื่อผู้ใช้จริงไม่ใช่นามแฝง ตัวอย่างเช่นชื่อผู้ใช้ 'postgres' มีนามแฝง 'PostgreSQL' ในกรณีนี้คุณต้องใช้ 'postgres' เป็นชื่อของไฟล์
Juan García

40

ขณะนี้วิธีนี้ใช้งานไม่ได้เนื่องจากมีข้อบกพร่องใน lightdm

โปรดตรวจสอบสถานะข้อผิดพลาดก่อนที่จะใช้วิธีนี้


นี่คือสิ่งที่คุณต้องการทำ:

ก่อนอื่นให้สำรองข้อมูลการกำหนดค่าของคุณ

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

จากนั้นคุณต้องแก้ไขการกำหนดค่าของคุณ:

sudo nano /etc/lightdm/users.conf

คุณจะเห็นสิ่งนี้:

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

สิ่งที่น่าสนใจสำหรับเราคือส่วนที่นี่:

hidden-users=nobody nobody4 noaccess

หากต้องการซ่อนชื่อผู้ใช้jamesให้เพิ่มดังนี้:

hidden-users=nobody nobody4 noaccess james

จากนั้นรีบูตเครื่องคอมพิวเตอร์ของคุณและควรจะหายไป

เป็นการอ้างอิงถึงผู้อื่นเห็น

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

ในบางรุ่นของ lighdm (Ubuntu 14.04) คุณต้องเปลี่ยนชื่อ[UserAccounts]เป็น[UserList](ใน/etc/lightdm/users.conf) เพื่อให้วิธีนี้ใช้งานได้ (หากคุณสนใจว่าทำไมสิ่งนี้อาจจำเป็นดูcommon/user-list.c:321จากแหล่ง lightdm)


ไม่ทำงานบน 14.04 อีกต่อไป แต่ตอบaskubuntu.com/a/575390/7304จาก @ marc-culler ด้านล่างใช้งานได้
เรน

ยังไม่ได้รับการแก้ไขหลังจากหกปีถอนหายใจ :(
Bulletmagnet

@Bulletmagnet well Ubuntu ไม่ได้ใช้ lightdm อีกต่อไป :(
jrg

สิ่งที่มันใช้ปัญหายังคงอยู่ :(
Bulletmagnet

15

ตัวเลือกของคุณจนกว่าข้อผิดพลาด 857651จะได้รับการแก้ไขคือการสร้างผู้ใช้ที่มี uid <1,000

ตัวอย่างเช่นในการกำหนด uid ใหม่น้อยกว่า 1,000 (เราใช้ 999) ให้ใช้คำสั่งนี้

sudo usermod -u 999 user-name

แทนที่user-nameด้วยชื่อผู้ใช้จริงเช่นเดียวกับanwarหรือdetlyอื่น ๆ


3
นี้จะซ่อนผู้ใช้ แต่ถ้าคุณกำลังจะเปลี่ยน uid ที่คุณอาจต้องการที่จะเปลี่ยน GID sudo groupmod -g999 user-nameเนื่องจากพวกเขามักจะมีหมายเลขเดียวกัน: และตามที่ dqvn2002 กล่าวถึงในคำตอบของพวกเขาสำหรับ Ubuntu 12.04 คุณจะต้องมีหมายเลข <500 ดังนั้น 999 จึงไม่ทำงาน
Lambart

2
และอย่าลืม! เมื่อคุณเปลี่ยน ID ผู้ใช้ไฟล์ส่วนตัวใด ๆ ที่เป็นของผู้ใช้นั้นจะไม่สามารถเข้าถึงได้ คุณจะต้องเรียกใช้ sudo chown -R user-name:user-name /home/user-name(เช่น)
Lambart

8

เพราะการตั้งค่า Ubuntu 12.04

[UserAccounts]  
minimum-uid=500

ดังนั้นเราต้องลดuidน้อยกว่า 500

ตัวอย่าง: sudo usermod -u 499 user-name

มันใช้งานได้กับฉัน! แก้ไขได้ขอให้โชคดี


คุณอาจต้องการ / จำเป็นต้องเปลี่ยนรหัสประจำกลุ่มและchownไฟล์ใด ๆ ของผู้ใช้ตามที่ฉันแสดงความคิดเห็นในคำตอบของ OerHeks
Lambart

4

วิธีนี้ใช้ไม่ได้กับ Ubuntu 13.10

ในการซ่อนชื่อล็อกอินของผู้ใช้อย่างถูกต้องคุณต้องเปิดการกำหนดค่า LightDM:

sudo vim /etc/lightdm/lightdm.conf

และเพิ่มตัวเลือกต่อไปนี้:

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

จากนั้นบันทึกและรีบูต นั่นคือทั้งหมดที่


2
วิธีการที่ได้รับการยอมรับยังคงไม่ทำงานในวันที่ 14.04 และการแสดงการเข้าสู่ระบบด้วยตนเองดูเหมือนว่าจะเป็นตัวเลือกที่ดีที่สุดเช่นกัน ใน 14.04 เพิ่มบรรทัดที่ระบุไว้ในคำตอบนี้เพื่อ /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf .. ถ้าคุณต้องการที่จะปิดการใช้งานผู้ใช้ของผู้เข้าพักแล้วผนวก allow-guest = false
Luca Borrione

1

นี่เป็นรูปแบบของคำตอบของ James คุณสามารถซ่อนผู้ใช้ใน lightDM เพียงแค่กำหนด ID ให้พวกเขาด้านล่าง ID ขั้นต่ำที่พบใน:

/etc/lightdm/users.conf

บนพีซีของฉันคือ 1,000

# 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

คุณสามารถเปลี่ยน UID easilly ใน terminal:

sudo usermod -u PutUserNameHere

มันใช้งานได้บนพีซีของฉัน (ในปี 2559) ดังนั้นฉันเดาว่าข้อผิดพลาด lightDM ที่ Eliah Kagan กล่าวถึงในปี 2014 เกี่ยวกับคำตอบของ James ได้รับการแก้ไขแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.