เมื่อเครื่องไม่มีส่วนหัวผู้ใช้จะไม่ได้รับสิทธิพิเศษอีกต่อไป


12

ปัญหาหลักคือ: เซสชั่นคำพังเพยใด ๆ ที่ไม่ได้นั่งอยู่ด้านบนของการแสดงผลทางกายภาพ / พื้นเมือง - หรือเงาที่แสดง (เช่นโหมดเงาของ NXserver) - มีสิทธิ์ผิดพลาด แม้ในขณะที่ทำงานเป็น root!

ความคิดเห็นใด ๆ เกี่ยวกับวิธีแก้ไขพฤติกรรมที่เป็นปัญหาสำหรับเซสชัน VNC / ไม่ใช่เงา?


ฉันกำลังอัปเกรดเซิร์ฟเวอร์หัวขาด Ubuntu ที่บ้านไม่นานและฉันมีปัญหามากมายที่ฉันจำไม่ได้ว่ามีอยู่ใน Ubuntu รุ่นก่อนหน้านี้

รายละเอียดบางอย่าง:

  • ฉันเริ่มต้นด้วย ubuntu-11.04-server-amd64.iso แล้วติดตั้ง ubuntu-desktop ไว้ด้านบน
  • uname -a: Linux MiddleEarth 2.6.38-8-server # 42-Ubuntu SMP จันทร์ 11 เม.ย. 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU / Linux
  • ฮาร์ดแวร์คือ Intel D920, 2GB Ram, gfx บางตัวเป็น nvidia 6600, 3xGigabit, 1x100mbit, ไม่มีจอภาพ, คีย์บอร์ด, เม้าส์

รอบ 1

ในขณะที่ฉันทำการทดสอบ / ติดตั้งจอภาพที่แนบมาทุกอย่างเป็นสีพีชทั้งเมื่อนั่งอยู่หน้าจอมอนิเตอร์และเมื่อ VNCing เข้าจากเครื่องเดสก์ท็อปของฉัน (เป็น vino)

หากไม่มีจอภาพแม้ว่าปัญหาจะเกิดขึ้น:

[แก้ / ลดลง]

มากปัญหาแรกคือ Vinoเป็นปากแข็งและไม่ชอบที่จะโหลดก่อน / ระหว่าง GDM แต่เนื่องจากนี่เป็นระบบหัวขาดฉันไม่ต้องการให้เริ่มต้นด้วย X ตามค่าเริ่มต้น (เช่นเปลี่ยนระดับเริ่มต้น) ต่อไปดังนั้นมันจึงเป็นบิตที่สงสัย อย่างไรก็ตามฉันจำได้ชัดเจนว่านี่เป็นเรื่องง่ายมากที่จะทำในเวอร์ชั่นเก่ากว่าของ Ubuntu (v9.04 ฉันคิดว่า) และมันก็ใช้ได้ดี แต่ไม่มีอีกแล้ว!? ... ยังไงก็ตามฉันก็ทิ้งความคิดนั้นไปโดยสิ้นเชิง

[แก้ไข]

จากนั้นก็เป็นUnity / effects messing VNC (แก้ไขโดยการโกง )

[แก้]

เดิมฉันเปลี่ยนมาใช้ NXserver หวังว่าปัญหาต่อไปนี้อาจเป็นปัญหาแบบ tightvnc หรือ vino แต่ไม่มีโชคเช่นนั้น (หมายเหตุ: อ่าน round2)

เมื่อ remoting ในผ่าน VNC (หรือ NXserver) บัญชีผู้ใช้ของฉันสูญเสียความสามารถในการเมาน / unmount HDDs

สกรีนช็อต: ไม่สามารถเมานต์ 750GB_RAID1

เมื่อ remoting ในผ่าน VNC (หรือ NXserver) บัญชีผู้ใช้ของฉันไม่สามารถเข้าถึงตัวเลือกการกำหนดค่าส่วนตัว
บางตัวอย่าง:

  • ไม่สามารถทำอะไรได้ (เช่น 'เพิ่ม' ผู้ใช้หรือ 'การตั้งค่าขั้นสูง') ใน "ระบบ -> การดูแล -> ผู้ใช้และกลุ่ม"
  • ไม่สามารถใช้ 'ปลดล็อก' ใน "ระบบ -> การดูแล -> หน้าจอเข้าสู่ระบบ"
  • gparted ไม่สามารถรับข้อมูลใด ๆ เกี่ยวกับระบบไฟล์
  • ฯลฯ (กล่องโต้ตอบ admin / config อื่น ๆ ไม่ทำงานอย่างถูกต้อง)

ฉันสามารถเดาได้ว่าสิ่งนี้เกี่ยวข้องกับสิทธิ์ของผู้ใช้ที่ไม่ได้รับมอบหมายอย่างถูกต้องเมื่อไม่ได้เชื่อมต่ออุปกรณ์ตรวจสอบจริง
เหตุผล 'ทำไม' สิ่งนี้เกิดขึ้นใน Ubuntu 11.04 เมื่อไม่มีหัว ฉันไม่จำพฤติกรรมนี้ในอูบุนตูรุ่นก่อนหน้า

โปรดทราบว่าปัญหาการติดตั้ง HDD นั้นไม่ใช่ปัญหาสำหรับ hdds ภายใน / คงที่ (ฉันเพิ่งเพิ่มไปยัง fstab เนื่องจากยังคงเป็นแบบคงที่) แต่ความเจ็บปวดครั้งใหญ่สำหรับสื่อ USB แบบถอดได้

ส่วนที่เหลือของปัญหาฉันไม่ได้คิดวิธีการแก้ไข ...
ฉันรู้ว่าสิ่งที่คุณคิด ... เข้าสู่ระบบเพื่อ ssh, sudo su และเรียกใช้ vncserver ภายใต้รากทั้งหมด?

สกรีนช็อต: (ในฐานะ root) gparted ล้มเหลวในการค้นหาข้อมูล fs

เซอร์ไพร์ส! gui ของ root ถูกทำลายเช่นกัน: gparted ไม่สามารถรับข้อมูลผู้ใช้และกลุ่มเป็นสีเทาทั้งหมด (นี่เป็นพฤติกรรมที่แตกต่างจากผู้ใช้ทั่วไปของฉัน) แปลกมากที่โปรแกรมการจัดการหน้าจอเข้าสู่ระบบดูเหมือนว่าจะทำงานได้ดี


รอบ 2

(หมายเหตุ: ฉันไม่รู้ว่าสิ่งนี้ทำหรือไม่ได้สร้างความแตกต่างกับผลลัพธ์ ณ จุดหนึ่งระหว่างรอบที่ 1 และรอบที่ 2 ฉันได้ใช้การเปลี่ยนแปลงที่กล่าวถึงในโพสต์ # 21 และ # 24 ในกระทู้นี้ )

เซสชัน tightvnc / NXServer ปกติมีลักษณะการทำงานเหมือนกัน แต่ ...

[การแก้ปัญหาบางส่วน / ปัญหาที่แท้จริงยังคงอยู่ที่นั่น]

ในการตั้งค่าการเชื่อมต่อ NXClient เมื่อฉันเลือกโหมด 'เงา' (เงาแนบคุณเข้ากับการแสดงผลดั้งเดิมเช่นการแชโดว์เดสก์ทอป) ...

ทุกอย่างทำงานได้อย่างสมบูรณ์แบบในเซสชั่นนี้!

สิ่งหนึ่งที่ฉันสังเกตเห็นคือมันถามฉันทันทีสำหรับรหัสผ่านพวงกุญแจ ... บางทีความยุ่งเหยิงทั้งหมดอาจเกี่ยวข้องกับระบบ keyring ที่ gnome ใช้?

แต่ถ้าฉันเชื่อมต่อกับการเชื่อมต่อ NX ปกติ (ไม่ใช่เงา) หรือ vnc ปกติมันกลับไปมีปัญหาเดียวกัน

ป.ล. มีสองสามวันในตอนที่ฉันเขียน round1 และ round2 (ฉันเก็บมันไว้ในไฟล์ txt ในเครื่อง) ฉันกำลังทดสอบ sugestions ต่าง ๆ เพื่อดูว่าจะทำงานได้อย่างไรซึ่งเป็นสาเหตุที่ฉันไม่ทราบแน่ชัดว่าการแก้ไขอุปกรณ์ xorg.conf VNC หรือการตั้งค่า nomodeset นั้นสร้างความแตกต่าง

[แก้ไข 2011-06-10]

NXServer และ GDM

ในขณะที่เขียนฉันได้ตั้งระบบให้เข้าสู่ระบบอัตโนมัติซึ่งเป็นสาเหตุที่การเชื่อมต่อเงาเพียงแค่ใช้งานได้ เมื่อฉันปิดการใช้งานในภายหลังและรีบูตระบบ NX ให้ข้อผิดพลาด แต่ด้วย Googling เล็กน้อยฉันพบกระทู้นี้

นี่คือการไม่แสดงข้อคิดเห็น & การเปลี่ยนแปลงที่ฉันทำกับ /usr/NX/etc/server.cfg ของฉัน:

EnableAdministratorLogin = "1"
EnableSessionShadowing = "1"
EnableInteractiveSessionShadowing = "1"
EnableSessionShadowingAuthorization = "0"
EnableDesktopSharing = "1"
EnableInteractiveDesktopSharing = "1"
EnableFullDesktopSharing = "1"
EnableAdministratorDesktopSharing = "1"
EnableDesktopSharingAuthorization = "0"
EnableSystemDesktopSharingAuthorization = "0"

(ถ้าเป็นเครือข่ายสาธารณะมากกว่าเช่นมหาวิทยาลัย / สำนักงานใหญ่ฉันอาจใช้การตั้งค่าที่เข้มงวดกว่าเล็กน้อย แต่สิ่งเหล่านี้เหมาะกับฉันดี)

หลังจากรีบูตฉันเข้าสู่ระบบด้วยการตั้งค่า nxclient บนเดสก์ท็อป 'เงา' (เนทีฟจอแสดงผล) และได้รับ GDM! : D

น่าเสียดายคลิปบอร์ดใช้งานไม่ได้ในเซสชัน 'เงา' (ใช้งานได้กับรายการอื่น / ปกติ)

[แก้ไข 2011-06-11]
สะดุดกับXvfbแต่มีปัญหาเดียวกันเมื่อใช้งานเช่นนี้:

Xvfb :2 -ac -screen 0 1280x1024x32 -pixdepths 8 24  2>&1 >/dev/null &
export DISPLAY=:2
gnome-session --session=2d-gnome 2>&1 >/dev/null &
x11vnc --display :2 --passwd blahblah

คำตอบ:


5

ฉันพบผู้กระทำผิด
ทดสอบการติดตั้งใหม่ยืนยันว่าเป็นข้อบกพร่อง

ฉันส่งรายงานข้อผิดพลาด

ในระยะสั้นปัญหาคือ: การสนทนาการตรวจสอบ polkit จะปรากฏขึ้นบนจอแสดงผล: 0 แทนการแสดงผล: 1 ที่เซสชั่น VNC / NX คือ

วิธีแก้ปัญหาอาจใช้ libpam-keyring เพื่อตรวจสอบสิทธิ์อัตโนมัติเมื่อเข้าสู่ระบบ
หรือ ... เริ่มต้นที่อาจจะไม่ทำเช่นนั้นการเปลี่ยนแปลงการตั้งค่าชุดนโยบายทั้งหมดจาก 'auth_admin' เป็น 'ใช่' อาจจะแก้ไขปัญหาได้และแน่นอนว่าจะทำให้ policyKit moot ทั้งหมด ... ถอนหายใจ


1
คุณสามารถเปลี่ยน Xorg.conf ของคุณเพื่อลบการแสดงผล: 0 ฉันไม่เห็นเหตุผลที่ X จะวิ่งไปที่นั่น ด้วยวิธีนี้ VNC / NX สามารถแสดงผลได้: 0?
user606723

2

ฉันคิดว่านี่เป็นพฤติกรรม PolicyKit ที่ถูกต้อง

นโยบายสำหรับใช้งาน , ไม่ได้ใช้งานและการใด ๆ ที่ผู้ใช้อื่น ๆ ที่แตกต่างกันดังนั้นเมื่อคุณเชื่อมต่อผ่าน NX คุณไม่ได้ใช้งาน (ลูกค้าในการประชุมบนคอนโซลท้องถิ่นใช้งาน) หรือไม่ใช้งาน (ลูกค้าในช่วงการใช้งานบนคอนโซลท้องถิ่น) แต่คุณส่งผลให้เกิดเป็นผู้ใช้ใด ๆ

คุณสามารถดูนโยบายเริ่มต้นสำหรับการดำเนินการภายใต้การควบคุมนโยบายสำหรับผู้ใช้ประเภทต่างๆด้วยคำสั่ง

pkaction --verbose

อย่างที่คุณเห็นผู้ใช้ประเภท Any ถูก จำกัด เมื่อเปรียบเทียบกับผู้ใช้ที่ใช้งานอยู่

เพื่อแก้ไขคุณสามารถแก้ไขนโยบายเริ่มต้น ในต่อไปนี้แนะนำสคริปต์ awk เพื่อสร้างไฟล์ชุดนโยบายเพื่อวางในตำแหน่งที่ถูกต้อง นี่คือสคริปต์:

#!/usr/bin/awk -f

/^[^ ]/ {
  action = substr($0, 1, length($0) - 1)
}
/^ / {
  if ($1 == "description:") {
    $1 = ""
    description = substr($0, 2)
    if (description == "")
      description = action
  } else if ($1 == "implicit") {
    if ($2 == "any:")
      any = $3
    else if ($2 == "inactive:")
      inactive = $3
    else if ($2 == "active:") {
      active = $3
      print ""
      print "[" description "]"
      print "Identity=unix-group:admin"
      print "Action=" action
      print "ResultActive="   active
      print "ResultInactive=" active
      print "ResultAny="      active
    }
  }
}

create-policyสมมติว่าคุณเรียกมันว่า ทำให้สามารถเรียกใช้งานได้ซึ่งเรียกใช้งานสคริปต์ด้วย

pkaction --verbose | ./create-policy > local.pkla 

จากนั้นย้ายไฟล์ผลลัพธ์:

sudo mv local.pkla /var/lib/polkit-1/localauthority/50-local.d/

ตอนนี้คุณควรมีสิทธิ์เช่นเดียวกับที่คุณเป็นผู้ใช้เซสชันท้องถิ่น


0

ฉันพบปัญหาที่คล้ายกันกับ NX และพบหัวข้อต่อไปนี้:

ทำไมฉันถึงได้รับ Unity แทนที่จะเป็น Classic เมื่อใช้ NX?

ฉันแก้ไขไคลเอนต์ Windows NX ของฉันเพื่อให้เดสก์ท็อปถูกตั้งค่าเป็น Unix & Custom จากนั้นตั้งค่าให้เรียกใช้คำสั่งต่อไปนี้:

gnome-session --session=classic-gnome

และเลือกสก์ท็อปเสมือนใหม่
หลังจากนั้นฉันก็ไปได้

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