Kin*_*and 13 linux unix su sudo
背景
我知道其中的差别之间su -,sudo su -以及sudo <command>:
su - - 将用户切换到 root,需要 root 密码sudo su - - 将用户切换到 root,只需要当前用户的密码sudo <command>- 仅授予特定命令的 root 访问权限;只需要当前用户的密码我的问题是sudo su -在生产环境中使用是否是一种安全的做法。
一些想法:
sudo su -通过根据个人用户密码访问 root 帐户,似乎允许会带来安全风险。当然,这可以通过执行严格的密码策略来缓解。我认为su -没有更好的办法,因为它需要管理员共享实际的 root 密码。
允许用户完全切换到 root 帐户使得跟踪谁对系统进行了更改变得更加困难。我在日常工作中看到过多个用户被授予sudo su -访问权限的情况。用户登录系统后做的第一件事是运行sudo su -,然后再开始工作。然后,有一天发生了一些事情,并且无法追踪谁跑到rm -rf *了错误的目录中。
问题
鉴于上述问题,允许用户使用sudo su -甚至su -根本不使用是否是一个好主意?
管理员是否有任何理由为sudo su -或su -代替sudo <command>(除了懒惰)配置用户帐户?
注意:当 root 用户的直接 ssh 访问被禁用时,我忽略了用户正在运行sudo su -或su -管理员需要进行系统更改的情况。
mdp*_*dpc 12
让我们看看你的案例:
su -
Run Code Online (Sandbox Code Playgroud)
将使用 root 环境以 root 用户身份运行 /bin/sh。需要 root 密码并且可以根据系统日志设置记录日志(通常默认为 /var/log/auth.log)。
sudo /bin/sh
Run Code Online (Sandbox Code Playgroud)
将使用当前的环境变量集以 root 用户身份运行 shell(在 sudoers 文件中定义的一些例外)。密码是源用户密码,而不是 root 用户密码。sudo 通常被记录。
sudo su -
Run Code Online (Sandbox Code Playgroud)
将以 root 用户身份运行 shell(通常是 /bin/sh),并将环境设置为 root 用户。这将需要源用户的密码,这通常会被记录。
有时需要将根环境置于您自己的环境之上,因此 su - 是一种合适的方法。请记住,无论哪种情况,sudo 仍会记录 shell 命令的使用情况。
| 归档时间: |
|
| 查看次数: |
18524 次 |
| 最近记录: |