切换用户(使用su
)后,我无法运行screen
:
% screen -L
Cannot open your terminal '/dev/pts/5'.
切换用户后如何运行屏幕?
答案1
您正在使用的 TTY(终端)归您以初始身份登录的用户所有,而不是您的用户su
所有。
因为screen
直接操作 TTY,所以它需要对设备节点的写访问权限。
您应该允许用户su
以某种方式修改设备节点。
您可以将所有权更改为一个共同组:
# chgrp [group] $(tty)
# chmod 0660 $(tty)
或者(如果您信任系统上的每个其他用户),您可以使其可全部读取/写入:
# chmod 0666 $(tty)
请注意,在多用户系统上,最后一个命令可能极其危险,因为任何人都可以读取和写入您的 TTY。
答案2
谢谢大家,但是这个答案有更好的解决方案:
https://serverfault.com/questions/475287/gnu-screen-cannot-open-your-terminal-dev-pts-3-please-check
出现此特殊问题的原因是,在某些安全性较高的服务器上,我无法以 root 或其他用户身份登录,因此有时我必须多次执行“su - ...”。root
在这种情况下,授权多用户屏幕会话对我来说似乎是更好的解决方案。