以ssh身份作为用户使用gnu屏幕,但以su身份使用


8

以下是尝试使用gnu屏幕时发生的情况。从本质上讲,一切正常,直到我以另一个用户身份为止。然后我得到一个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,su身份登录gradplan并仍然使用屏幕?

Answers:


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]
$

参考:ServerFault:为什么将'script'重定向到/ dev / null /允许'screen'在被另一个用户使用时工作?


对于将来的读者,我发现在屏幕内部进行操作实际上是一种更好的做法,但是由于这可以回答我实际提出的更好的问题,因此我接受了此作为正确的答案。
亚历山大·伯德

1

如果你:

ls -l /dev/pts/7

您会看到它是sbird拥有的,当您切换到gradplan时,他没有烫发来触摸该设备。

你可以尝试做

chmod a+rw /dev/pts/X

在屏幕显示之前(X是您当前连接的#点,因为它会更改)。

或者,您可以将屏幕屏蔽为小号,然后在每个屏幕窗口su中进行筛选。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.