通過 SSH 啟動 GDM(gnome 顯示管理器)會話,無需 root
有沒有辦法通過 SSH 在沒有 root 的情況下遠端啟動 GNOME 會話?
背景
我正在嘗試
/dev/cdrom -> /dev/sr0
通過 SSH 訪問遠端機器的 CD 驅動器 ( )。遠端機器正在執行 Ubuntu 18。
問題是當沒有人登錄電腦時
/dev/sr0
,在文件 ACL 中為gdm 使用者設置了寫入驅動器文件 ( ) 的權限(可以通過 驗證getfacl /dev/sr0
)。當使用者通過 GNOME(即親自)登錄電腦時,ACL 會更新以匹配他們的使用者。
如果您使用啟用了 X11 轉發的 SSH 連接(並且正在執行本地 X11 伺服器),您應該能夠使用命令在遠端伺服器上啟動 GNOME 會話
gnome-session
。但是您會發現這不會讓您訪問 CD 驅動器。
您會看到,CD 驅動器權限僅授予本地登錄的使用者,即使登錄是在虛擬控制台上以文本模式完成的。不只是任何人在進行 GNOME 會話。系統會知道其中的區別。ACL 分配通過以下方式完成
udev
:uaccess
分配給設備的標籤/lib/udev/rules.d/70-uaccess.rules
將確定哪些設備將獲得此處理。如果您希望在通過 SSH 遠端登錄時能夠使用 CD 驅動器,則您的使用者帳戶需要
cdrom
分配給它的組成員身份。這只需要完成一次,但它需要 root 訪問權限。例如,如果您的使用者帳戶名為helper
:sudo usermod -a -G cdrom helper
或者
sudo gpasswd --add helper cdrom
或者
sudo adduser helper cdrom
執行這些命令中的任何一個後,您需要註銷以使更改生效。下次登錄時,您將成為該
cdrom
組的成員(除了您之前所屬的任何組)並且可以始終使用 CD 驅動器,無論您是本地登錄還是遠端登錄。這就是這個cdrom
小組的目的。這裡列出了其他具有類似目的的組:https ://wiki.debian.org/SystemGroups