背景
我知道其中的差别之间su -
,sudo su -
以及sudo <command>
:
su -
-将用户切换为root,需要root密码sudo su -
-将用户切换为root,仅需要当前用户的密码sudo <command>
-仅授予针对特定命令的root访问权限;只需要当前用户的密码
我的问题是sudo su -
在生产环境中使用是否安全。
一些想法:
通过允许
sudo su -
根目录帐户访问取决于单个用户密码,似乎允许存在安全风险。当然,可以通过执行严格的密码策略来缓解这种情况。我认为su -
没有什么比这更好的了,因为它需要管理员共享实际的root密码。允许用户完全切换到root帐户使跟踪谁对系统进行更改变得更加困难。我在日常工作中看到了多个用户被授予
sudo su -
访问权限的情况。sudo su -
在开始工作之前,用户在登录系统时要做的第一件事就是运行。然后,有一天发生了什么事,无法追溯谁rm -rf *
在错误的目录中运行。
问题
考虑到上述问题,允许用户使用sudo su -
甚至su -
根本禁止使用是个好主意吗?
是否有一个管理员将配置用户帐户以任何理由sudo su -
或su -
代替sudo <command>
(除了懒惰)?
注意:当root用户禁用直接ssh访问时,我忽略了用户正在运行sudo su -
或su -
管理员需要进行系统更改的情况。
sudo bash
只是为了避免某些登录开销而运行。但是,经过反思,这可能无法避免我想像的那么多。
sudo -s
。
sudo su -
这是相当愚蠢的,因为sudo -i
它实际上执行相同的操作,而击键次数却更少。