前言:前几天装了一个centos桌面版,但是用户却不是root,而且没有root权限,这需要我每次查看系统的配置文件,运行程序的时候都必须切换到root用户才能执行!默认的登录用户却是安装桌面版的时候创建的普通用户而不是root,修改系统的配置文件的时候就会提示permission denied (权限不足),每次都需要切换root太麻烦了,所以只能想办法给新建的用户root权限!其实对于这个问题网上也是有很多不同的方法,但是其实很多都是没有必要的,比如su - root  su …… 不过还是得看你个人需要吧!但是实际工作发现都是直接给你使用root,不过就是新建一个用户给你不过这个用户需要管理员的时候就sudo以管理员身份运行。如下是我认为比较便捷的方法!

方法一:

方法一是实现跟root一样,在哪里都能执行any 命令!而不需要借助比如su 或者sudo命令来获取管理员权限!

1. 如下我有5个用户我想给adi02管理员权限:

(ps:怎么区分那些用户账号是自己创建的?solved:因为普通用户的UDI(用户id)与GID(用户组id)默认是从1000开始的,1000以内是系统保留的。)

2.为了验证效果,我们使用adi02操作配置文件试试:

直接查看sudoers配置文件:被告知permission denied(权限不足)

使用sudo获取管理员权限:被告知adi02不在sudoers配置文件中!

以上两种办法都不行那我们只有切换到管理员下才可以了!不过这不是我们所expect的!

3.如上第2点因为我们是普通用户所以无法操作sudoers配置文件,那么我们就来salved这个问题:

如下我们看到root的user ID与group ID都是0!

将adi02的用户group ID改成0:

测试结果看看现在可不可以操作sudoers配置文件,可以看到我们现在已经可以正常查看sudoers文件了!

(ps:为什么改groupID就可以了?solved:在linux中其实是通过ID去区分一个组或者一个用户的!它根本不看你是什么名字!只看你的id,而root的groupID是0,你也可以理解成root的用户组是0,而我们把adi02的用户组ID改成0之后,adi02就是属于root这个组!那么也就有了root的权限!这跟window的把普通用户添加到管理员组一样的效果!)

(ps:能不能把userID也改成跟root一样的?solved:答案是可以的!在你登录adi02的时候系统就会帮你切换到root,但是不推荐这样做,按照自上而下的顺序,系统先认识root的UID为0,如果你把adi的UID也改成0它就会认为你是管理员root!在你登录的时候用户名不会显示为adi02而是直接显示root!)

方法二:

方法二是通过改sudoers配置文件而实现的,主要实现通过sudo运行指定命令!在实践方法二的之前我已经把adi02的groupID重新改成1003,以免影响实验!

1. 在change之前我们先做一个backup,以防出错:

2. edit sudoers我们这次使用:viduso 命令编辑:

使用visudoers命令进去之后找到如下两处。99行这里表示:"允许root在任何地方允许任何命令"!我们把adi02添加上去,nopasswd:all表示不需要进行密码验证,也就是我们在使用sudo的时候不需要进行密码验证。默认为all,all是需要进行密码验证的;

107行跟99行意思差不多不过99表示的是组!如果你改了99行还是需要密码验证就在108后面加上用户所在的组并设置nopasswd:all 即可。

(ps: 如果不在sudoers文件中添加adi02,那么adi02默认是无法使用sudo命令的!)

继续操作sudoers文件看是否已经正常。我们可以看到在修改了sudoers文件之后我们登录adi02,使用“sudo + 命令 ”可以直接查看sudoers文件了!

 

total:方法一主要实现跟使用root登录一样运行任何命令!方法二主要实现使用”sudo“来获取管理员身份,运行需要管理员权限的命令!

 

Logo

更多推荐