解决方案
通过配置sudo,使普通用户 sudo + 命令,来执行超权限命令
环境
- 操作系统:RockyLinux9
- 用户名:user
命令
sudo whoami
显示当前以 sudo 提升权限后的用户名,该用户有root权限,即返回root。usermod -aG usergroup user
将user用户添加入 usergroup组,-aG不改变原先的组规则。
明晰
配置文件/etc/sudoers
用来管理root权限。有两种配置方法:
- 直接在该文件里写入你的用户并且配置。
我们需要在该文件的%wheel ALL=(ALL) NOPASSWD: ALL
行后任意地方写上user ALL=(ALL) NOPASSWD: ALL
,防止被覆盖
# 切换root才能编辑该文件
su - root
# 使用 vim编辑,保存退出
vim /etc/sudoers
# 切换回user用户,测试。(切换到user用户时候需要刷新环境)
su - user
sudo whoami
- 在该文件里面有用户组
wheel
,专门管理root用户权限组,我们把需要赋权用户添加入该组。
其他操作系统可能不同,我们可以查看该文件中的sudo组来配置。
# 切换root用户
su - root
# 把user用户加入组
usermod -aG wheel user
# 切换回user用户,测试。(切换到user用户时候需要刷新环境)
su - user
sudo whoami
扩展
-
为什么需要sudo?不直接使用root
程序员不被信任没有root权限,sudo的配置文件可以更加精细化为普通用户权限划分。赋予部分可信任权柄。 -
注意点
系统日志会把sudo命令详细记录。
/var/log/secure
使用sudo环境变量是当前用户的。