修改sudo权限
前言
我在修改sudo权限时设置错误,导致不能使用sudo,同时不能使用su进入root用户修改sudoers,在查了很多资料解决了这个问题,同时发现关于修改sudo权限的博文很多,但大都杂乱无章,只能解决某一个问题,我在此将修改sudo权限遇到的各种问题,以及解决方案系统总结起来,便于查找解决问题。
流程图
当前用户拥有直接修改sudoers的权限
- 查看/etc/sudoers的文件权限
- 文件的类型和权限由10个字符组成,第一个字符表明该文件的类型。字符‘-’表示普通文件,接下来的属性每3个字符一组,第2~4个字符代表该文件所有者的(user)的权限,第5~7个字符代表该文件所有组(group)的权限,第8~10个字符代表其他用户(others)拥有的权限。每组都是rwd的组合,如果拥有该读权限,则该组第一个字符显示r,否则显示一个小横线;如果拥有写权限,则该组第二个字符显示w,否则显示一个小横线;如果拥有执行权限,则第三个字符显示x,否则显示一个小横线。
- 如上图所示,当前用户即有对该文件的读写权限
- 使用visudo命令打开sudoers(visudo是一个专门打开sudoers文件的命令,可以检查出是否有格式错误)
- 授权用户/组 = [(切换到哪些用户或组)] [是否需要输入密码验证] 命令1,命令2。。。
- root ALL=(ALL:ALL) ALL
- 授权root用户在所有主机登录本服务器,允许切换到任何用户/组,需要输入密码执行所有事情。
- 进入该文件,修改权限
当前用户可以使用sudo
当前用户使用sudo有权限修改文件sudoers
- 查看/etc/sudoers的文件权限
- 在打开文件之前添加sudo
- 跳转到流程
当前用户使用sudo但仍然没有权限写入文件
- 查看/etc/sudoers的文件权限
- 使用sudo修改该文件权限
- 我们定义所有人的权限使用数字表示法,我们定义r=4,w=2,x=1,如果是rwx,则数字表示为7,如果权限是r-x,则数字表示为5.假如我们设置一个文件的权限是:拥有者的权限是读,写,执行(rwx),拥有组的权限是读,执行(r-x),其他人的权限是只读(r–),那么可以使用命令chmod 754 somefile来设置。
- 打开文件
- 跳转到流程
当前用户不可以使用sudo
当前用户不可以sudo,但可以su root
- su root,进入管理员权限
- 跳转到流程
当前用户不可以sudo也不可以su root
- 进入recovery mode单用户模式
- 跳转到流程