- RHEL8系统管理与性能优化
- 滕子畅编著
- 492字
- 2025-02-21 15:12:23
3.3 su-与sudo
可以使用“su-用户名”切换用户,注意su后面的“-”,如果未使用“-”,则切换用户时,系统不会为其提供一个新的登录Shell环境,因此强烈建议读者在切换用户时加上“-”,例如:

在生产环境中,要尽量避免直接使用root用户登录系统,而普通用户的权限比较低,有时需要一种方式来实现在不切换到root用户的情况下完成只有root用户才可以做的事情,sudo命令就提供了这样的功能。
与su-命令不同,运行sudo命令的用户需要输入自己的密码进行身份验证,验证成功后,方可执行sudo后面的操作。当然,该用户需要事先在/etc/sudoer中进行配置,一般推荐使用visudo命令直接编辑。其中有一行为

正如上面的描述,root用户可以在任何位置运行任何命令。因此,可以在后面添加所需要的普通用户名称。例如,允许用户edward使用useradd命令新建用户(useradd命令默认只有root用户可以使用)。

注意:后面的命令必须以绝对路径形式添加。
这时,就允许用户edward使用useradd命令建立新用户,例如:

除这种配置方式以外,在/etc/sudoer中还支持以组的方式指定。例如,下面的代码可为wheel组的成员启用sudo配置。如果希望使用该设置,把前面的“#”符号去掉即可。

在上述代码中,%代表组,wheel组的成员可以在任何位置运行任何命令。建议读者谨慎使用这种方式。