web-dev-qa-db-ja.com

ルートなしでSSH経由でGDM(gnome display manager)セッションを開始します

SSH経由でrootなしでGNOMEセッションをリモートで開始する方法はありますか?

バックグラウンド

SSH経由でリモートマシンのCDドライブ(_/dev/cdrom -> /dev/sr0_)にアクセスしようとしています。

リモートマシンはUbuntu18を実行しています。

問題は、ドライブファイル(_/dev/sr0_)への書き込み権限がファイルACLでgdm userに設定されており、誰もコンピューターにログインしていない場合です(_getfacl /dev/sr0_)。

ユーザーがGNOMEを介して(つまり、直接)コンピューターにログインすると、ACLはユーザーに一致するように更新されます。

2
helper

X11転送を有効にしてSSH接続を使用している(そしてローカルX11サーバーを実行している)場合、コマンドgnome-sessionを使用してリモートサーバーでGNOMEセッションを開始できるはずです。

しかし、それではCDドライブにアクセスできないことがわかります。

ご覧のとおり、仮想コンソールでテキストモードでログインした場合でも、CDドライブのアクセス許可はローカルにログインしたユーザーにのみ付与されます。単にGNOMEセッションを行っている人だけではありません。システムは違いを認識します。 ACLの割り当てはudevによって行われます。/lib/udev/rules.d/70-uaccess.rulesでデバイスに割り当てられたuaccessタグによって、この処理が行われるデバイスが決まります。

SSH経由でリモートログオンしているときにCDドライブを使用できるようにする場合は、ユーザーアカウントにcdromグループメンバーシップを割り当てる必要があります。これは一度だけ実行する必要がありますが、ルートアクセスが必要です。たとえば、ユーザーアカウントの名前がhelperの場合:

Sudo usermod -a -G cdrom helper

または

Sudo gpasswd --add helper cdrom

または

Sudo adduser helper cdrom

これらのコマンドのいずれかを実行した後、変更を有効にするにはログアウトする必要があります。次回のログイン時に、(以前にメンバーだったグループに加えて)cdromグループのメンバーになり、ローカルにログインしているかどうかに関係なく、いつでもCDドライブを使用できます。またはリモートで。 それがcdromグループの目的です。

同様の目的を持つ他のグループはここにリストされています: https://wiki.debian.org/SystemGroups

2
telcoM

これをMATEデスクトップで、Xnestを1で起動し、全画面解像度よりも小さい解像度で実行します。次に、export DISPLAY=:1、次にssh -Y user@remotehost mate-sessionを実行します。小さいXnestX「サーバー」ウィンドウにデスクトップ全体が表示されます(この時点でXnestはXサーバーとXクライアントの両方として機能しています)

0
ivanivan