Khi máy không đầu, người dùng không còn đặc quyền


12

Vấn đề cốt lõi là: BẤT K session phiên gnome nào không ngồi trên màn hình thực / vật lý gốc - hoặc đổ bóng màn hình đó (tức là chế độ bóng của NXserver) - có các đặc quyền bị lỗi. Ngay cả khi chạy như root!

Bạn có nhận xét nào về cách khắc phục hành vi có vấn đề đối với các phiên VNC / không bóng NX không?


Tôi đang nâng cấp máy chủ không đầu Ubuntu tại nhà sau một thời gian dài và tôi gặp nhiều vấn đề mà tôi không nhớ là đã có trong các phiên bản Ubuntu trước.

Một số chi tiết:

  • Tôi đã bắt đầu với ubfox-11.04-server-amd64.iso và sau đó cài đặt ubfox-desktop trên đầu trang của nó.
  • uname -a: Linux MiddleEarth 2.6,38-8-server # 42-Ubuntu SMP Mon ngày 11 tháng 4 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU / Linux
  • Phần cứng là Intel D920, Ram 2GB, gfx là một số nvidia 6600, 3xGigabit, 1x100mbit không có quạt, không có màn hình, bàn phím, chuột.

Vòng 1

Trong khi tôi đang thực hiện kiểm tra / thiết lập với một màn hình được đính kèm , mọi thứ đều rất đẹp, cả khi ngồi trước màn hình đó và khi VNCing từ máy tính để bàn của tôi (vào vino).

Không có màn hình mặc dù có vấn đề phát sinh:

[Chưa giải quyết / Bỏ]

Rất vấn đề đầu tiên là vino là bướng bỉnh và không thích để tải trước / trong GDM. Nhưng vì đây là một hệ thống không đầu, nên tôi không thực sự cần nó để bắt đầu với X theo mặc định (tức là thay đổi cấp độ init), vì vậy đó là một chút moot. Tuy nhiên, tôi nhớ rõ điều này rất dễ thực hiện trong một phiên bản Ubuntu cũ hơn (v9.04 tôi nghĩ). Và nó hoạt động tốt; nhưng không còn nữa!? ... dù sao tôi đã bỏ ý tưởng đó hoàn toàn.

[Đã giải quyết]

Sau đó, đó là Unity / hiệu ứng làm rối tung VNC (Giải quyết nó bằng cách gian lận ).

[Chưa giải quyết]

Ban đầu tôi đã chuyển sang NXserver với hy vọng rằng có thể các vấn đề sau đây là các vấn đề về chặt chẽ hoặc vino, nhưng không có may mắn như vậy. (Lưu ý: đọc round2)

Khi từ xa thông qua VNC (hoặc NXserver), tài khoản người dùng của tôi mất khả năng gắn kết / ngắt kết nối ổ cứng.

Ảnh chụp màn hình: Không thể gắn kết 750GB_RAID1

Khi từ xa thông qua VNC (hoặc NXserver), tài khoản người dùng của tôi không thể truy cập một số tùy chọn cấu hình được mã hóa,
một số ví dụ:

  • không thể làm bất cứ điều gì (ví dụ: 'thêm' người dùng hoặc settings cài đặt nâng cao ') trong "Hệ thống -> Quản trị -> Người dùng và Nhóm".
  • không thể sử dụng 'mở khóa' trong "Hệ thống -> Quản trị -> Màn hình đăng nhập".
  • gparted không nhận được bất kỳ thông tin nào về các hệ thống tập tin.
  • v.v. (nhiều hộp thoại admin / config khác cũng không hoạt động chính xác)

Tôi chỉ có thể đoán điều này có liên quan đến đặc quyền người dùng không được chỉ định đúng khi thiết bị giám sát vật lý thực tế không được kết nối.
Lý do 'TẠI SAO' điều này xảy ra trong ubfox 11.04, khi nó không đầu, thoát khỏi tôi; Tôi không nhớ hành vi này trong các phiên bản trước của Ubuntu.

Xin lưu ý rằng vấn đề gắn ổ cứng không phải là vấn đề đối với các hdds nội bộ / tĩnh (tôi chỉ cần thêm chúng vào fstab vì chúng vẫn là tĩnh). Nhưng thực sự là một nỗi đau lớn cho phương tiện truyền thông usb di động.

Phần còn lại của vấn đề, tôi chưa tìm ra cách khắc phục ...
Tôi biết bạn đang nghĩ gì ... đăng nhập vào ssh, sudo su và chạy vncserver dưới root hoàn toàn?

Ảnh chụp màn hình: (với quyền root) gparted không tìm thấy thông tin fs

Bất ngờ ngạc nhiên! gui của root cũng bị hỏng: gparted không nhận được thông tin, người dùng & nhóm hoàn toàn chuyển sang màu xám (đây là một hành vi khác với người dùng thông thường của tôi). Thật kỳ lạ, proggy quản trị màn hình Đăng nhập dường như hoạt động tốt.


Vòng 2

(LƯU Ý: Tôi không biết điều này đã làm hay không tạo ra sự khác biệt cho kết quả. Tại một số điểm giữa vòng 1 và vòng 2, tôi đã áp dụng các thay đổi được đề cập trong bài viết số 21 và # 24 trong chuỗi này )

Các phiên chặt chẽ củavnvn / NXServer có hành vi tương tự, NHƯNG ...

[Giải pháp một phần / Vấn đề thực tế vẫn còn đó]

Trong cài đặt kết nối NXClient, khi tôi chọn chế độ 'bóng' (bóng sẽ gắn bạn với màn hình gốc, tức là tạo bóng trên màn hình) ...

Tất cả mọi thứ hoạt động hoàn hảo trong phiên này!

Một điều tôi nhận thấy là nó ngay lập tức hỏi tôi mật khẩu khóa ... có lẽ toàn bộ mớ hỗn độn có liên quan đến hệ thống khóa mà gnome sử dụng?

Nhưng, nếu tôi kết nối với kết nối NX thông thường (không phải bóng) hoặc vnc thông thường, nó sẽ quay trở lại với cùng một vấn đề.

PS Có một vài ngày inbettween khi tôi viết round1 và round2 (Tôi đã giữ nó trong một tệp txt cục bộ). Tôi đã thử nghiệm nhiều loại đường khác nhau để xem cái gì sẽ hoạt động, đó là lý do tại sao tôi không biết chắc rằng liệu thiết bị VNC xorg.conf đó có chỉnh sửa hay không hoặc cài đặt nomodeset đã tạo ra sự khác biệt.

[EDIT 2011-06-10]

Máy chủ NXS và GDM

Tại thời điểm viết bài, tôi đã thiết lập hệ thống thành tự động đăng nhập, đó là lý do tại sao kết nối bóng chỉ hoạt động đơn giản. Sau đó, khi tôi vô hiệu hóa hệ thống đó và khởi động lại hệ thống, NX đã báo lỗi, nhưng với một chút Googling tôi đã tìm thấy chủ đề này

Đây là những thay đổi và ghi chú tôi đã thực hiện trên /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"

(Nếu đó là một mạng công cộng hơn, tức là trường đại học / văn phòng lớn, tôi có thể sử dụng các cài đặt chặt chẽ hơn một chút, nhưng chúng phù hợp với tôi.)

Sau khi khởi động lại, tôi đã đăng nhập bằng nxclient vào cài đặt 'bóng' (màn hình gốc) của máy tính để bàn và nhận GDM! : D

Thật không may, clipboard không hoạt động trong phiên 'bóng' (Nó hoạt động tốt trên các phiên bản khác / thông thường)

[EDIT 2011-06-11]
Tình cờ gặp Xvfb nhưng nó có cùng một vấn đề khi được sử dụng như thế này:

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

Câu trả lời:


5

Tôi định vị thủ phạm.
Đã thử nghiệm trên bản cài đặt mới, xác nhận đó là một lỗi.

Tôi đã gửi một báo cáo lỗi

Nói tóm lại, vấn đề là: Đối thoại xác thực polkit sẽ hiển thị trên HIỂN THỊ: 0 thay vì HIỂN THỊ: 1 trong đó phiên VNC / NX.

Một cách giải quyết khác có thể là sử dụng libpam-keyring để tự động xác thực khi đăng nhập.
hoặc ... cào nó, điều đó có lẽ sẽ không làm được, một sự thay đổi cho tất cả các cài đặt bộ chính sách từ 'auth_admin' thành 'có' có thể sẽ khắc phục vấn đề và tất nhiên điều đó sẽ khiến chính sách hoàn toàn ... thở dài


1
Bạn có thể thay đổi Xorg.conf để xóa hiển thị: 0. Tôi thấy không có lý do gì để X thậm chí chạy ở đó. Cách này VNC / NX có thể mất HIỂN THỊ: 0?
dùng606723

2

Tôi nghĩ rằng đây là hành vi Chính sách chính xác.

Chính sách cho Hoạt động , Không hoạt độngBất kỳ người dùng nào khác đều khác nhau, do đó, khi bạn được kết nối qua NX, bạn không hoạt động (máy khách trong phiên hoạt động trên bảng điều khiển cục bộ), cũng không hoạt động (máy khách trong phiên không hoạt động trên bảng điều khiển cục bộ), nhưng bạn cho kết quả là Bất kỳ người dùng.

Bạn có thể thấy chính sách mặc định cho Hành động dưới sự kiểm soát chính sách đối với loại người dùng khác nhau bằng lệnh

pkaction --verbose

Như bạn có thể thấy, người dùng loại Any bị giới hạn so với người dùng Active.

Để khắc phục, bạn có thể sửa đổi chính sách mặc định. Trong phần sau đây, hãy đề xuất một tập lệnh awk để tạo tệp bộ chính sách để đặt đúng vị trí. Đây là kịch bản:

#!/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
    }
  }
}

Giả sử bạn gọi nó create-policy. Làm cho nó thực thi được, thực thi tập lệnh với

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

sau đó di chuyển tệp kết quả:

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

Bây giờ bạn sẽ có quyền giống như bạn là người dùng phiên cục bộ.


0

Tôi đã gặp vấn đề tương tự với NX và tìm thấy chuỗi sau:

Tại sao tôi nhận được Unity thay vì Classic khi sử dụng NX?

Tôi đã chỉnh sửa ứng dụng khách Windows NX của mình để máy tính để bàn được đặt thành Unix & Custom, sau đó đặt nó để chạy lệnh sau:

gnome-session --session=classic-gnome

Và chọn Máy tính ảo mới .
Sau đó tôi đã tốt để đi.

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.