我正在尝试允许某个用户连接到 root 用户拥有的屏幕。当另一个用户连接到 时"screen -ls"
,它会显示"No Sockets found in /var/run/screen/S-USERNAMEHERE"
。
除此之外,是否可以将用户限制在单个屏幕上?例如,我不想用户1附加到屏幕1,但我希望它们能够附着到屏幕2。
谢谢,托比。
答案1
据我所知,您可以screen
一次与一位用户共享。
为了实现此功能,您必须启用 SELinux,并且 screen 必须以suid
root 身份运行 - 这两者都是默认的
主持人
1. 创建会话
首先,创建一个新的屏幕会话:
$ screen -d -m -S session_name
附加到它:
$ screen -r session_name
2. 开启多用户支持
在screen'; type
Ctrl+a` 中输入
:multiuser on
或者在会话之外screen
输入:
$ screen -S session_name -X multiuser on
3. 授予用户访问权限
在屏幕内,输入Ctrl+a
并键入:
:acladd guest_username # the username to share your screen with
或者在会话之外screen
输入:
$ screen -S session_name -X acladd guest_username
您可以以编程方式运行此行以授予用户列表的访问权限。
4. 分享会议信息
您可以与访客分享您的用户名<host_username>
和screen
会话名称,以便他们可以连接。<session_name>
点击后,Ctrl+a d
您可以离开会话而无需关闭screen
客人
有了访问权限、屏幕会话名称和主机用户名,访客就可以连接到屏幕会话:
screen -x host_username/session_name
访客现在应该可以访问主持人的screen
会话