Lệnh `xhost '` này làm gì?


8

Xin hãy giúp tôi hiểu dòng lệnh này:

xhost +SI:localuser:lightdm

trong tham chiếu đến các câu trả lời trong bài viết này và cũng đề nghị nếu có một cách tốt hơn và tại sao điều đó là cần thiết. Tôi không thể kiếm được nhiều từ trang người đàn ông, vì vậy tôi mong đợi một số câu trả lời chi tiết hơn để làm cho nó đơn giản. (Tôi có nên thay thế người dùng cục bộ bằng tên người dùng của mình không và nó có giống như thêm vào nhóm không? Tôi hiểu rằng + là để thêm nhưng không hiểu SI hoặc si!)

Ngoài ra, vui lòng đề cập đến cách người dùng được thêm vào "danh sách được phép tạo kết nối" và điều đó có nghĩa là gì. Ngoài ra, làm thế nào tôi kiểm tra danh sách hiện tại?

Câu trả lời:


10

xhost +SI:localuser:lightdmcho phép lightdmngười dùng truy cập máy chủ X đang chạy. Máy chủ X hiện tại được chỉ định bởi DISPLAYbiến môi trường.


Các trang web có giải thích hợp lý tốt:

   [+]name The given name (the plus sign is optional) is added to the list
           allowed to connect to the X server.  The name  can  be  a  host
           name or a complete name (See NAMES for more details).
...
NAMES
   A complete name has the syntax ``family:name'' where the  families  are
   as follows:
...
   si        Server Interpreted
...
   the server interpreted address "si:localuser:username" can be  used  to
   specify a single local user. (See the Xsecurity(7) manual page for more
   details.)

Xsecuritytrang này nói:

SERVER INTERPRETED ACCESS TYPES
   The  sample  implementation   includes   several   Server   Interpreted
   mechanisms:
       IPv6                          IPv6 literal addresses
       hostname                      Network host name
       localuser                     Local connection user id
       localgroup                    Local connection group id

Với một chút bối cảnh: Có hai cách thường được sử dụng để cho phép truy cập vào máy chủ X. Một là thông qua một Xauthoritytệp, được chia sẻ bởi các máy khách và không cần cấu hình phía máy chủ nữa. Khác là thông qua xhostdanh sách, trong đó cấu hình được thực hiện trên máy chủ trong thời gian chạy (vì vậy đây không phải là một thay đổi vĩnh viễn).

Vì vậy, localuserlà một từ khóa được giữ lại như hiện tại ( lightdmlà tên người dùng ở đây, một từ khóa mà LightDM chạy như). Điều này có phần giống như thêm vào một nhóm, trong đó các nhóm nằm trong sự hiểu biết về ủy quyền của máy chủ. Tuy nhiên, không có nhóm hệ thống hoặc người dùng bị ảnh hưởng. Chỉ cấu hình thời gian chạy của máy chủ X được thay đổi.

Hành vi mặc định xhostkhi chạy mà không có đối số là in danh sách, như manpage nói:

nothing If no command line arguments are given,  a  message  indicating
        whether  or not access control is currently enabled is printed,
        followed by the list of those allowed to connect.  

Ví dụ:

$ xhost
access control enabled, only authorized clients can connect
SI:localuser:muru

Có lẽ chúng ta sẽ cần kiểm tra mã để xác định cách người dùng được thêm vào danh sách và cách X sử dụng danh sách đó.


Lý do điều này được thực hiện là để sử dụng gsettings, trong đó sử dụng dbus, do đó thường cần một máy chủ X đang chạy. Tuy nhiên, điều này là không cần thiết và bạn có thể thấy câu trả lời của AskUbfox này .


Đây là một câu trả lời thực sự tốt; Tôi quan tâm đến cách duy trì host +xxxhoặc host -zzzcài đặt quá.
sẽ
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.