ユーザーとしてsshしたときはgnu画面を使用し、別のユーザーとしてはsu


8

以下は、gnu画面を使用しようとするとどうなるかです。基本的に、私が別のユーザーとしてsuするまでは、すべてうまくいきます。その後、Cannot open your terminal '/dev/pts/7' - please check.エラーが発生します

l413:~$ ssh sbird@example.com
sbird@example.com password: 
sbird@example:~$ screen
[screen is terminating]
sbird@example:~$ su - gradplan
Password: 
gradplan@example:~$ screen 
Cannot open your terminal '/dev/pts/7' - please check.
gradplan@example:~$ 

どうすればsbirdとしてログインし、gradplanにsuし、それでも画面を使用できますか?

回答:


4

質問に直接回答するには:

ssh sbird@example.com su grandplan -c “script /dev/null -qc \"screen\""

/ dev / pts / Xのアクセス許可を変更しないでください。不要なセキュリティホールが発生するだけです。


11

script /dev/null開始する前に入力してくださいscreen

$ su - gradplan
$ screen
Cannot open your terminal '/dev/pts/15' - please check.
$ script /dev/null
Script started, file is /dev/null
$ screen
# do whatever inside the screen
[detached]
$

ref:ServerFault:なぜ「スクリプト」を/ dev / null /にリダイレクトすると、別のユーザーとしてsuされているときに「画面」が機能するのですか?


将来の読者のために、私は実際にsuを使用する方が画面が優れていることを発見しました。
アレクサンダーバード

1

もし、あんたが:

ls -l /dev/pts/7

sbirdが所有していることがわかります。gradplanに切り替えると、そのデバイスに触れる権限がありません。

あなたはやってみることができます

chmod a+rw /dev/pts/X

(Xは、現在接続しているポイント番号です。Xは変更されるためです)。

または、鳥としてスクリーニングし、各スクリーンウィンドウでsuを実行できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.