以用户身份 ssh 时使用 gnu screen,但以其他用户身份 su

以用户身份 ssh 时使用 gnu screen,但以其他用户身份 su

以下是尝试使用 gnu screen 时发生的情况。基本上,一切都正常,直到我以另一个用户身份登录。然后我收到一个Cannot open your terminal '/dev/pts/7' - please check.错误

l413:~$ ssh [email protected]
[email protected] 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,并仍然使用屏幕?

答案1

直接回答你的问题:

ssh [email protected] su grandplan -c “script /dev/null -qc \"screen\""

不要更改 /dev/pts/X 上的权限 - 这只会引入不必要的安全漏洞。

答案2

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:为什么将“脚本”重定向到 /dev/null/ 会允许“屏幕”在以其他用户身份登录时工作?

答案3

如果你:

ls -l /dev/pts/7

您将看到它归 sbird 所有,当您切换到 gradplan 时,他无权接触该设备。

你可以尝试做

chmod a+rw /dev/pts/X

(X 是您当前连接到的 pts #,因为它会改变)在您进行筛选之前。

或者您可以以 sbird 的身份进行筛选,然后在每个屏幕窗口中进行筛选。

相关内容