与同一组中的用户共享屏幕会话 (Linux)

joh*_*dir 8 linux permissions groups gnu-screen

我可以使用以下命令创建一个分离的屏幕会话:

[user1@host-pc ~]$ screen -d -m -S sname program
Run Code Online (Sandbox Code Playgroud)

...并使用以下命令恢复它:

[user1@host-pc ~]$ screen -r sname
Run Code Online (Sandbox Code Playgroud)

有没有办法让与user1访问会话在同一组中的用户?

编辑:我已阅读手册页,并且了解多用户模式。我特别询问是否允许按用户组 (/etc/group) 共享屏幕会话。

即组users中的所有用户都可以共享会话sname。无需手动添加每个用户进行筛选。

Vla*_*kov 7

是的,这是可能的,但是你的屏幕应该有 suid 位,这有一些安全隐患。基本上,您应该执行以下操作才能共享屏幕会话:

chmod u+s /usr/bin/screen
Run Code Online (Sandbox Code Playgroud)

然后作为用户(假设其用户名是user1),您应该运行 screen 并在其中运行以下两个命令:

<ctrl+a>:multiuser on
<ctrl+a>:acladd user2
Run Code Online (Sandbox Code Playgroud)

最后,user2应该能够使用以下命令连接到会话:

screen -x user1/
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到更多信息。


小智 3

您可以通过 .screenrc 或在会话中使用 Ctrl+a : 和 来启用多用户模式multiuser onacladd user2然后,可以通过使用 添加单个用户或在屏幕 acls ( ) 中重新创建组列表来控制访问aclgrp

我不相信有一种方法可以直接使用 unix 组作为屏幕多用户 ACL。

请参阅man screenhttp://aperiodic.net/screen/multiuser