如何以非root用户身份启动“屏幕”会话


11

有没有办法以非root用户身份在RHEL框上打开新的“屏幕”会话?当我尝试以非root用户身份使用“ screen”命令打开新屏幕时,它失败,并且出现以下消息:

Cannot open your terminal '/dev/pts/2' - please check.

我进行了一些研究,发现有人建议更改/ dev / pts上的权限,以授予非root用户(试图打开屏幕)读取/写入权限。尽管它可能会起作用,但它看起来并不是一个很好的解决方案。是否有允许非root用户打开屏幕会话的“合法”方式?

编辑:我的RHEL 5.5、6.2和6.5计算机上存在此问题。所有这些框上的屏幕版本为“屏幕版本4.00.03(FAU)2006年10月23日”。

PS:-我知道我可以以root和'su'身份打开屏幕会话以启动命令/进程,但这不是我想要的。

Answers:


7

如果您以root身份在某处使用ssh然后su成为普通用户,则这是一个已知问题:

$ ssh root@server
# su -l anthon
$ screen 
Cannot open your terminal '/dev/pts/3' - please check.

例如,在2005年的这些帖子中对此进行了描述

解决方案是直接以您要screen运行会话的用户身份登录。


我以普通用户身份登录。仍然无法运行screen
codezombie

可能screen未安装在您的系统上,或者是由于其他一些未知原因导致的。不可能告诉。您应该发布一个新问题(包含更多信息),然后删除您的评论。
Anthon '18

VPS是受管的,支持人员说受管系统不支持VPS。我可以使用现成的屏幕二进制文件吗?
codezombie

1
您哪一部分应该发布一个新的问题,您不理解?评论不适用于发布问题和答案。Sigh .... screen以root身份运行(使用setuid),因此,如果可以在托管系统上进行安排,只需从.deb或.rpm安装二进制文件。在您的情况下,我会tmux改为考虑使用(不需要以root用户身份运行
。– Anthon

谢谢,我完全理解您说的话,但是我敢肯定,如果我发布它,它将被设置为重复
codezombie

1

使用script /dev/null前必须使用screen。离开后,screen你必须exit


或者将其全部包含在一个命令中,因此您不必退出脚本会话:sudo -su user script -c bash /dev/null
basic6
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.