在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开。普通用户执行到系统程序时,需要临时提升权限,sudo就是我们常用的命令,仅需要输入当前用户密码,便可以完成权限的临时提升。在使用sudo命令的过程中,我们经常会遇到当前用户不在sudoers文件中的提示信息,如果解决该问题呢?通过下面几个步骤,可以很简单的解决此问题。
工具:Oracle VM VirtualBox
系统:CentOS,Huawei Eulor OS(基于CentOS)
1.切换到root用户权限
1 | su root |
2.查看/etc/sudoers
文件权限,通常是只读权限,修改为可写权限
1 | ls -l /etc/sudoers # 查看文件权限 |
3.执行vi
命令,编辑/etc/sudoers
文件,添加要提升权限的用户;
1 | vi ./etc/sudoers |
在文件中找到root ALL=(ALL) ALL
,在该行下添加提升权限的用户信息,如:
1 | root ALL=(ALL) ALL |
说明:格式为(用户名 网络中的主机=(执行命令的目标用户) 执行的命令范围
)
保存退出vi
,按Esc
键输出:wq
。
编辑模式
使用vi进入文本后,按i开始编辑文本
退出编辑模式
按ESC键,然后:
退出vi
:q! 不保存文件,强制退出vi命令
:w 保存文件,不退出vi命令
:wq 保存文件,退出vi命令
4.保存退出后恢复/etc/sudoers
的访问权限为440
1 | chmod 440 /etc/sudoers # 恢复只读 |
进行完以上步骤,切换回普通用户,该用户权限提升功能完成。