linux-Centos给普通用户添加管理员权限
前言:前几天装了一个linux桌面版,但是用户却不是root,而且没有root权限,这需要我每次查看系统的配置文件,运行程序的时候都必须切换到root用户才能执行!查了网上也是说法不一...
前言:前几天装了一个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“来获取管理员身份,运行需要管理员权限的命令!
更多推荐
所有评论(0)