如何在不使用 VNC 的情况下与同事共享 shell?

如何在不使用 VNC 的情况下与同事共享 shell?

很多时候,我希望我的同事看一下我系统上的一些代码。他主要会在空闲时间做这件事,并且需要以我的身份登录。

有没有办法让我像我一样打开一个新的shell,然后转移给他的机器上的 shell,以便他可以随时使用它?

答案1

我会考虑用它screen来做到这一点。尽管如此,我所知道的唯一方法确实会产生一些安全问题。 Screen 能够创建访问控制列表,并能够允许具有各种权限的多个屏幕会话。设置可能有点棘手,但想法是这样的:

  1. 为您的同事创建一个用户帐户。
  2. 让您的同事 ssh 访问您的计算机。
  3. 使屏幕可执行 setuid root (危险的)。
  4. 将权限更改为/var/run/screen755(其他权限设置可能是可行的,这就是我一直做的。另外,这是Debian上的路径,我不确定其他地方是否不同)
  5. 编辑您的~/.screenrc以启用多用户模式:

    multiuser on 
    
  6. 使用以下命令编辑您的~/.screenrc设置正确的权限:acladdaclchgaclgrp。有关详细信息,请参阅手册页。

然后,您的同事可以通过 ssh 登录您的计算机并连接到您的屏幕会话。通过ssh配置,您实际上可以强制他在登录时连接到屏幕会话。以下博客文章在使用屏幕举办课程的上下文中提供了更详细的说明(这些说明大致基于它们):

http://blog.dustinkirkland.com/2009/04/teaching-class-with-gnu-screen.html

您的用例有点不同,但我认为唯一真正的区别是您设置的权限~/.screenrc和用户名。

答案2

screen -x应该是最简单的解决方案。

相关内容