如何(真正)通过 ssh 成为不同的用户

如何(真正)通过 ssh 成为不同的用户

我想在 linux 中更改我的用户名,例如sudo usermod -l new old,但出现错误

usermod: user old is currently used by process 4139

这是显而易见的,因为我是通过 ssh 登录的

old 4139 0.0 0.2 17032 5140 ? S 18:31 0:00 sshd: old@pts/0

即使我su root,我也会以不同的用户身份启动新的 shell。出于安全原因,我无法以其他用户身份通过​​ ssh 登录。我怎样才能克服这个问题。

一种选择是暂时降低安全性(更改 sshd 配置)或创建临时用户,设置 ssh 密钥,将其添加到 sudoers,使用该不同的用户登录,然后清理所有内容。这看起来像是一项非常乏味的工作。有更简单的方法吗?

答案1

尝试看看它是否适用于exec su root.这应该将 shell 替换为su,并且可能没有任何进程正在old运行。

如果这不起作用,只需安排以 root 身份登录,然后就可以了。或者只是手动编辑用户数据库并考虑它可能引起的混乱(老实说,我怀疑实际上有多大影响,但无论如何,同时保持特权会话打开。)在任何情况下,usermod都不会改变主目录,因此您必须单独执行此操作。

我没有看到直接以 root 身份登录和创建新用户到 sudo 到 root 之间“降低安全性”的相关差异。

相关内容