【发布时间】:2018-10-14 22:16:48
【问题描述】:
我有一个 bash 脚本,它创建多个目录等,创建一个反向 SSH 隧道,使用用户的加密密钥(它被解密并在登录时由 pam_ssh 启动一个 ssh-agent),然后启动一个 tmux 会话并分离(等待稍后重新附加)。至此一切都完成了,我要确保执行脚本的用户将被注销。
原因如下:只允许特定用户(将来可能是 root)执行这个脚本,所以当我在终端中作为 regular_user 时:su special_user,./special_script.sh 现在如果我忘记注销并让终端保持打开状态 - 有人可以再次运行该脚本,所以我希望./special_script.sh 在其结束时将special_user 抛出他的会话,将他返回到regular_user。
备注:special_user 由接近 regular_users 的支持人员使用,以在他们的会话中帮助他们,因此很可能有一天支持人员会忘记注销而让他的会话闲置。理想情况下,应该使用 sudo special_user special_script.sh 之类的东西,但重要的是要请求 special_user 的密码(传递给 ssh-agent)。
有可能吗?
【问题讨论】:
-
使用
sudo或su -c
标签: linux bash session ssh terminal