Làm cách nào để ẩn một người dùng cụ thể khỏi màn hình đăng nhập?


85

Làm cách nào để ẩn một người dùng cụ thể khỏi màn hình đăng nhập trên bản cài đặt mặc định 11.10 trở lên? (tức là sử dụng Unity Greeter)?

Câu trả lời:


92

Nếu hệ thống của bạn sử dụng AccountsService, bạn không thể ẩn người dùng khỏi màn hình chào hỏi bằng cách cấu hình lại lightdmvì nó trì hoãn AccountsService. Điều đó được nêu rất rõ ràng trong các ý kiến ​​trong /etc/lightdm/users.conf.


Thay vào đó, những gì bạn cần làm là cấu hình lại AccountsService.

Để ẩn người dùng có tên XXX, hãy tạo một tệp có tên

/var/lib/AccountsService/users/XXX

chứa hai dòng:

[User]
SystemAccount=true

Nếu tệp đã tồn tại, hãy đảm bảo bạn nối thêm SystemAccount=truedòng vào [User]phần.


4
hoạt động trên thiết lập vanilla 14.04
frnhr 15/03/2015

3
Đã thử nghiệm làm việc trên Ubuntu 16.04.
Sopalajo de Arrierez

1
Điều này cũng hoạt động trên Ubuntu 17.10 với Gnome 3
Schuh

Và vẫn là câu trả lời chính xác cho Ubuntu 19.04 Disco Dingo.
Aiyion.Prime

1
Điều này đang hoạt động trên Ubuntu 19.04. Hãy nhớ sử dụng XXX làm tên người dùng thực tế chứ không phải bí danh. Ví dụ: tên người dùng 'postgres' có bí danh 'PostgreSQL'. Trong trường hợp này, bạn phải sử dụng 'postgres' làm tên của tệp.
Juan García

40

Hiện tại phương pháp này không hoạt động vì một lỗi trong lightdm.

Vui lòng kiểm tra trạng thái lỗi trước khi áp dụng phương pháp này.


Đây là những gì bạn muốn làm:

Đầu tiên, tạo một bản sao lưu cấu hình của bạn.

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

Sau đó, bạn cần chỉnh sửa cấu hình của mình:

sudo nano /etc/lightdm/users.conf

Bạn sẽ thấy một cái gì đó như thế này:

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

Quan tâm đến chúng tôi là một phần ở đây:

hidden-users=nobody nobody4 noaccess

Để ẩn tên người dùng james, chỉ cần thêm nó như thế này:

hidden-users=nobody nobody4 noaccess james

Sau đó, khởi động lại máy tính của bạn và nó sẽ biến mất.

Để tham khảo cho người khác, xem

Xem https://bugs.launchpad.net/ubfox/+source/accountsservice/+orms/857651

Trên một số phiên bản của lighdm (Ubuntu 14.04), bạn cần đổi tên [UserAccounts]thành [UserList](in /etc/lightdm/users.conf) để phương thức này hoạt động. (Nếu bạn quan tâm đến lý do tại sao điều này có thể cần thiết, hãy xem common/user-list.c:321từ nguồn lightdm.)


Không hoạt động vào ngày 14.04 nữa nhưng hãy trả lời Askubfox.com/a/575390/7304 từ @ marc-culler bên dưới hoạt động.
nguyệt quế

Vẫn chưa sửa sau sáu năm, thở dài :(
Bulletmagnet

@BONSmagnet tốt Ubuntu không sử dụng lightdm nữa :(
jrg

Dù sử dụng cái gì, vấn đề vẫn tồn tại :(
Bulletmagnet

16

Tùy chọn của bạn cho đến khi lỗi 857651 được sửa là tạo người dùng với uid <1000

Ví dụ: để gán uid mới dưới 1000, (chúng tôi đang sử dụng 999) sử dụng lệnh này

sudo usermod -u 999 user-name

Thay thế user-namebằng tên người dùng thực tế, giống như anwarhoặc detlyvv


3
Điều này ẩn người dùng, nhưng nếu bạn thay đổi uid, bạn cũng có thể muốn thay đổi gid, vì chúng thường có cùng số : sudo groupmod -g999 user-name. Và như dqvn2002 đã đề cập trong câu trả lời của họ, đối với Ubuntu 12.04, bạn sẽ cần một số <500, vì vậy 999 sẽ không hoạt động.
Lambart

2
Và đừng quên! Khi bạn thay đổi id người dùng, mọi tệp riêng tư do người dùng đó sở hữu sẽ đột nhiên không thể truy cập được. Bạn sẽ cần phải chạy (ví dụ) sudo chown -R user-name:user-name /home/user-name.
Lambart

8

bởi vì thiết lập Ubuntu 12.04

[UserAccounts]  
minimum-uid=500

vì vậy chúng ta cần giảm uiddưới 500

thí dụ: sudo usermod -u 499 user-name

Nó làm việc với tôi! GIẢI QUYẾT Chúc may mắn.


Bạn cũng có thể muốn / cần thay đổi id nhóm và chownbất kỳ tệp nào do người dùng sở hữu, như tôi đã nhận xét về câu trả lời của OerHeks.
Lambart

4

Phương pháp này không hoạt động trên Ubuntu 13.10.

Để ẩn tên đăng nhập của người dùng chính xác Bạn phải mở cấu hình LightDM:

sudo vim /etc/lightdm/lightdm.conf

và thêm các tùy chọn sau:

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

Sau đó lưu và khởi động lại. Đó là tất cả.


2
Phương thức được chấp nhận vẫn không hoạt động vào ngày 14.04 và hiển thị đăng nhập thủ công dường như cũng là lựa chọn tốt nhất. Trong 14.04, hãy thêm các dòng được liệt kê trong câu trả lời này vào /usr/share/lightdm/lightdm.conf.d/50-ub Ubuntu.conf .. nếu bạn cũng muốn vô hiệu hóa người dùng khách thì hãy thêm allow-guest = false
Luca Borrione

1

Đây là một biến thể của câu trả lời của James. Bạn có thể ẩn người dùng trong lightDM bằng cách chỉ định cho họ một ID bên dưới ID tối thiểu được tìm thấy trong:

/etc/lightdm/users.conf

Trên PC của tôi là 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

Bạn có thể thay đổi giá trị UID trong thiết bị đầu cuối:

sudo usermod -u PutUserNameHere

Nó hoạt động trên PC của tôi (năm 2016), vì vậy tôi đoán lỗi lightDM mà Eliah Kagan đã đề cập vào năm 2014 liên quan đến câu trả lời của James đã được giải quyết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.