很多时候,我希望我的同事看一下我系统上的一些代码。他主要会在空闲时间做这件事,并且需要以我的身份登录。
有没有办法让我像我一样打开一个新的shell,然后转移给他的机器上的 shell,以便他可以随时使用它?
答案1
我会考虑用它screen
来做到这一点。尽管如此,我所知道的唯一方法确实会产生一些安全问题。 Screen 能够创建访问控制列表,并能够允许具有各种权限的多个屏幕会话。设置可能有点棘手,但想法是这样的:
- 为您的同事创建一个用户帐户。
- 让您的同事 ssh 访问您的计算机。
- 使屏幕可执行 setuid root (危险的)。
- 将权限更改为
/var/run/screen
755(其他权限设置可能是可行的,这就是我一直做的。另外,这是Debian上的路径,我不确定其他地方是否不同) 编辑您的
~/.screenrc
以启用多用户模式:multiuser on
使用以下命令编辑您的
~/.screenrc
设置正确的权限:acladd
、aclchg
和aclgrp
。有关详细信息,请参阅手册页。
然后,您的同事可以通过 ssh 登录您的计算机并连接到您的屏幕会话。通过ssh
配置,您实际上可以强制他在登录时连接到屏幕会话。以下博客文章在使用屏幕举办课程的上下文中提供了更详细的说明(这些说明大致基于它们):
http://blog.dustinkirkland.com/2009/04/teaching-class-with-gnu-screen.html
您的用例有点不同,但我认为唯一真正的区别是您设置的权限~/.screenrc
和用户名。
答案2
screen -x
应该是最简单的解决方案。