xhost และ xhost + si คืออะไร


12

สคริปต์นี้กำลังทำอะไร

#!/bin/bash
xhost +local:
xhost +si:localuser:root

รายการเริ่มต้นของxhostคืออะไร

คำตอบ:


16

xhost +SI:localuser:rootอนุญาตให้rootผู้ใช้เข้าถึงเซิร์ฟเวอร์ X ที่กำลังทำงานอยู่ เซิร์ฟเวอร์ X ปัจจุบันถูกระบุโดยDISPLAYตัวแปรสภาพแวดล้อม xhost +local:ทำสิ่งเดียวกันสำหรับผู้ใช้ทุกคนดังนั้นrootบรรทัดจึงไม่ค่อยมีประโยชน์


manpageมีคำอธิบายที่ดีพอสมควร:

   [+]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:
...
   local     contains only one name, the empty string
   si        Server Interpreted
...
   The  local family specifies all the local connections at once. However,
   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.)

และXsecuritymanpageพูดว่า:

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

ด้วยบริบทเล็กน้อย: มีสองวิธีที่ใช้กันโดยทั่วไปเพื่ออนุญาตให้เข้าถึงเซิร์ฟเวอร์ X หนึ่งคือผ่านXauthorityไฟล์ซึ่งใช้ร่วมกันโดยลูกค้าและไม่ต้องการการกำหนดค่าฝั่งเซิร์ฟเวอร์เพิ่มเติม อีกอันคือผ่านxhostรายการซึ่งทำการตั้งค่าบนเซิร์ฟเวอร์เมื่อรันไทม์ (ดังนั้นนี่ไม่ใช่การเปลี่ยนแปลงถาวร)

ดังนั้นlocaluserเป็นคำหลักที่จะเก็บรักษาไว้ตามที่เป็นอยู่ ( rootคือชื่อผู้ใช้ที่นี่) นี่เป็นเหมือนการเพิ่มไปยังกลุ่มโดยที่กลุ่มอยู่ในความเข้าใจของเซิร์ฟเวอร์ในการให้สิทธิ์ อย่างไรก็ตามไม่มีกลุ่มระบบหรือผู้ใช้ที่ได้รับผลกระทบ เฉพาะการกำหนดค่ารันไทม์ของเซิร์ฟเวอร์ X เท่านั้นที่มีการเปลี่ยนแปลง


พฤติกรรมเริ่มต้นของxhostเมื่อทำงานโดยไม่มีข้อโต้แย้งคือการพิมพ์รายการตาม manpage พูดว่า:

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.  

ตัวอย่างเช่น:

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

( muruคือชื่อผู้ใช้ของฉัน)

(จากโพสต์ของฉันใน Unix & Linux )

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