ฉันจะซ่อนผู้ใช้เฉพาะจากหน้าจอเข้าสู่ระบบในการติดตั้งเริ่มต้นที่ 11.10 และสูงกว่าได้อย่างไร (เช่นใช้ Unity Greeter) หรือไม่
ฉันจะซ่อนผู้ใช้เฉพาะจากหน้าจอเข้าสู่ระบบในการติดตั้งเริ่มต้นที่ 11.10 และสูงกว่าได้อย่างไร (เช่นใช้ Unity Greeter) หรือไม่
คำตอบ:
หากระบบของคุณใช้AccountsService
คุณไม่สามารถซ่อนผู้ใช้จากหน้าจอรู้ตัวโดยกำหนดค่าเพราะมันจะคล้อยตามlightdm
ที่มีการระบุไว้อย่างชัดเจนในความคิดเห็นในAccountsService
/etc/lightdm/users.conf
สิ่งที่คุณต้องทำAccountsService
แทนคือการกำหนดค่า
หากต้องการซ่อนชื่อผู้ใช้XXX
ให้สร้างไฟล์ชื่อ
/var/lib/AccountsService/users/XXX
มีสองบรรทัด:
[User]
SystemAccount=true
หากไฟล์มีอยู่แล้วตรวจสอบให้แน่ใจว่าคุณต่อท้ายSystemAccount=true
บรรทัดใน[User]
ส่วน
ขณะนี้วิธีนี้ใช้งานไม่ได้เนื่องจากมีข้อบกพร่องใน 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)
ตัวเลือกของคุณจนกว่าข้อผิดพลาด 857651จะได้รับการแก้ไขคือการสร้างผู้ใช้ที่มี uid <1,000
ตัวอย่างเช่นในการกำหนด uid ใหม่น้อยกว่า 1,000 (เราใช้ 999) ให้ใช้คำสั่งนี้
sudo usermod -u 999 user-name
แทนที่user-name
ด้วยชื่อผู้ใช้จริงเช่นเดียวกับanwar
หรือdetly
อื่น ๆ
sudo groupmod -g999 user-name
เนื่องจากพวกเขามักจะมีหมายเลขเดียวกัน: และตามที่ dqvn2002 กล่าวถึงในคำตอบของพวกเขาสำหรับ Ubuntu 12.04 คุณจะต้องมีหมายเลข <500 ดังนั้น 999 จึงไม่ทำงาน
sudo chown -R user-name:user-name /home/user-name
(เช่น)
เพราะการตั้งค่า Ubuntu 12.04
[UserAccounts]
minimum-uid=500
ดังนั้นเราต้องลดuid
น้อยกว่า 500
ตัวอย่าง: sudo usermod -u 499 user-name
มันใช้งานได้กับฉัน! แก้ไขได้ขอให้โชคดี
chown
ไฟล์ใด ๆ ของผู้ใช้ตามที่ฉันแสดงความคิดเห็นในคำตอบของ OerHeks
วิธีนี้ใช้ไม่ได้กับ Ubuntu 13.10
ในการซ่อนชื่อล็อกอินของผู้ใช้อย่างถูกต้องคุณต้องเปิดการกำหนดค่า LightDM:
sudo vim /etc/lightdm/lightdm.conf
และเพิ่มตัวเลือกต่อไปนี้:
greeter-hide-users=true
greeter-show-manual-login=true
จากนั้นบันทึกและรีบูต นั่นคือทั้งหมดที่
นี่เป็นรูปแบบของคำตอบของ 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 ได้รับการแก้ไขแล้ว