在工作中,我有几个旧服务器,我以 root 身份登录,然后su
以用户身份登录。我继续遇到一个问题,在这样做之后,我无法screen
以该用户身份运行。
我不想screen
以 root 身份打开,因为这样我就必须有意识地su
关闭每个新 shell 的用户,而且我经常会忘记。
问题是,有没有比我目前知道的更简单的解决方案?我目前的解决方案是找到我的终端 pts 编号,然后将其设置为 chmod 666。
xhost
如果在这种情况下存在这样的东西,我正在寻找类似于 X11 的 ACL 管理的东西。
答案1
将 root 的 TTY 修改为 666 不是一个好主意,原因很明显。相反,应该将所有权转让给目标用户,然后再改回来。
使这一切变得更简单的 Bash 函数是:
screenas() { chown $* ``tty`` && su - $* -c screen && chown root `tty` }
将其粘贴到您的 .bashrc 文件中,然后以用户身份运行屏幕screenas username
。