权限取决于您的登录方式:ssh/su/sudo

Ame*_*ina 5 security ssh su sudo

因为user我可以访问远程 linux 机器,所以我可以:

sudo su - other_user
Run Code Online (Sandbox Code Playgroud)

除此之外,这允许我将自己的公钥添加到authorized_keysfor other_user,这也有效地让我sshother_user.

有趣的是,作为user,我不能直接执行以下操作,因为我(也不应该)知道other_user的密码:

su - other_user
Run Code Online (Sandbox Code Playgroud)

这个安全策略有意义吗?如果 I caninto知道密码有什么区别?other_user ssh sudo su -other_user

更一般地说,根据您的登录方式,在您可以做什么和不能做什么方面存在哪些差异other_user

gol*_*cks 5

这个安全策略有意义吗?

是和不是。否,因为它不保护 other_user 的数据。但它确实保护了 other_user 的密码。这可能看起来无关紧要,但这意味着您至少不能做一件重要的事情:更改密码,以便通常使用该帐户的人无法访问它。

使用su和保密密码的另一个后果是/var/log/auth.log应该包含如下内容:

Nov  8 08:08:10 ...(su:session): session opened for user other_user by (uid=1066)
[...]
Nov  8 09:38:10 ...(su:session): session closed for user other_user
Run Code Online (Sandbox Code Playgroud)

假设你的 uid 是 1066 并且你的密码也是秘密的,如果other_user在这 90 分钟内发生了任何令人不快的事情,就有充分的理由证明是你干的。我曾经在一些工作场所使用这样的登录详细信息来识别人们在做他们知道不应该做的事情。