Red Hat Enterprise Linux 使用sudo临时授予普通用户Root权限/ 用户不在sudoers文件中解决办法

Red Hat Enterprise Linux 使用sudo临时授予普通用户Root权限/ 用户不在sudoers文件中解决办法

在系统管理中,为了系统安全性,最高管理员一般不会告知一般用户Root账户密码,但一般用户有时又需要用到Root权限进行一些操作,这里就用到“sudo”了命令,来临时授予普通用户Root权限,同时还可一在sudoers文件里限制一般用户的权限,这样就有了安全保证,也方便了系统的运维。

问题

  • 如何临时授予普通用户Root权限
  • 如何解决解决用户不在sudoers文件中的问题

其实,这里提到的两个问题,实际上是一个问题,当我们使用“sudo su [用户名]”这个命令时候,提示[ ]用户不在sudoers文件中,实际上就是该用户没有被授予Root的权限

环境

Red Hat Enterprise Linux

尝试使用“sudo”进入普通用户Root权限

  • 语法:sudo su 用户名
[chenxin@localhost ~]$ sudo  su  chenxin    
[sudo] chenxin的密码:          >  >这里输入授权账户的密码,不是Root的密码

>  >  输入后系统如提示如下,就是该账户没有被授权
chenxin不在sudo文件中。此事将被报告。

在这里插入图片描述

接下来,开始讲如何临时授予普通用户Root权限

操作步骤

一、为预授权账户授权

>>说明:以下展示命令语法,大括号和中括号中的内容均为单选项

1、登录Root账户

  • 语法:su root
[chenxin@localhost ~]$ su root    

>>su登录账户的命令,如后面不输入用户名的话,默认登录为Root账户
密码:
>>密码输入正确后就进入到Root账户下了,提示符将变为
[root@localhost etc]#

1、查看sudoers文件权限

语法:

  • ls -all 目录/文件
  • ls -all 文件
[root@localhost /]# ls -all /etc/sudoers     >>执行成功后提示如下信息
-r--r-----. 1 root root 4328 4月  28 2020 /etc/sudoers

>>该文件分别为文件所有者和所在组赋予了读取的权限,没有为其他用户赋予任何权限

该提示类信息,第一列“-r–r-----.”是表示权限的信息,可分为三个字段,分别用“–”隔开,代表三种角色,
第一个字段表示文件所有者(u)的权限,
第二段表示所属组(g)的权限,
第三段表示其他账户(o)的权限,
文件权限有三类,分别是读取(r),写入(w),执行(x)

2、编辑(修改)文件权限

这里为大家介绍两种修改权限的方法

2.1

语法:

  • chmod [u/g/o] [+/-/=] [r/w/x] {[目录/文件] /[文件 ]}

可以一次性编辑多个权限,中间用","隔开
+增加权限 -减去权限 = 赋予权限

[root@localhost  /]# chmod u+w,u+x,g+w,g+x,o=rwx /etc/sudoers     
>>执行成功后会直接换行
[root@localhost /]#
[root@localhost /]# ls -all /etc/sudoers             >>再次查看文件权限
-rwxrwxrwx. 1 root root 4328 4月  28 2020 /etc/sudoers
2.2用数字方式修改权限

语法:

  • chmod [0/1/2/4/5/6/7] [0/1/2/4/5/6/7] [0/1/2/4/5/6/7] {[目录/文件] /[文件 ]}

权限与数字的对应关系 :读取(r)4,写入(w) 2,执行 (x) 1
也可以用权限对应的数字相加表示所有的权限如:
7=4+2+1 即 7就代表rwx权限,5=4+1就代表rx权限
设置权限时用一个三位数来表示,三位数字按照字段顺序(u,g,o)分别对应一个角色

[root@localhost etc]# chmod 765 /etc/sudoers
[root@localhost etc]# ls -all /etc/sudoers                                  >>查看文件权限
-rwx-rx-rw. 1 root root 4328 4月  28 2020 /etc/sudoers

3、修改sudoers文件(添加预授权用户至sudoers文件)

3.1查看文件
我们可以先列出文件所在目录,并查看文件,sudoers文件存放在“/etc”目录下;

语法:

  • cd 目录
  • ls
  • cat {[目录名/文件名] / [ 文件名]}
[root@localhost /]# cd  /etc   >>进入目录后,提示符也会发生变化
[root@localhost etc]
[root@localhost etc] ls        >>执行后,系统将会列出/etc目录下的所有文件和子目录
............
cron.daily      fwupd       ksmtuned.conf    nfsmount.conf       rc3.d      sudo.conf
cron.deny       gconf       ld.so.cache      nftables            rc4.d      sudoers
cron.hourly     gcrypt      ld.so.conf       nsswitch.conf       rc5.d      sudoers.d
...........       >>这里为大家展示部分文件
[root@localhost etc] cat  sudoers         >>执行后展示结果如下
............
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere 
root	ALL=(ALL) 	ALL
## Allows members of the 'sys' group to run networking, software, 
.............     >>这里为大家展示部分内容

3.1编辑文件

语法:

  • vim 目录/文件
  • vim 文件
[root@localhost etc] vim  sudoers         
>>执行后展示出的内容与查看到的内容一样,但是环境不一样,
>>执行"vim"后就进入到文件内部了,此使,我们可以对文件进行编辑了
>>想要对文件进行编辑,按下键盘上的字母"i",就进入输入模式了 
>>进入输入模式后,下发会出现一行提示符"---插入----"
>>然后用'↑' '↓' '←' '→'光标进行操作
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL     >>找到这一行
chenxin ALL=(ALL)   ALL         >>添加这一行内容   
语法:[预授权的用户名]  ALL=ALL=(ALL)   ALL   
注意: Linux严格区分大小写
## Allows members of the 'sys' group to run networking, software, 
## service management apps and more.

>>编辑结束后按下"ESC"退出编辑模式
>> 保存并退出文件     语法 :wq
>>退出编辑模式后,直接输入冒号":",后面接着输入"wq",即为保存并推出

w:保存 q:退出 后面加"!"为强制执行

在这里插入图片描述
3.2改回sudoers文件权限并退出Root用户模式


>>这次我们用数字是方式改回权限
[root@localhost etc]# chmod 440  /etc/sudoers
[root@localhost etc]# ls -all  /etc/sudoers
-rwxrwxrwx. 1 root root 4328 4月  28 2020 /etc/sudoers   >>可以看到权限已经改回去了
[root@localhost etc]# lexit                              >>退出Root用户模式
[chenxin@localhost etc]$ 

我们这里之所以要将sudoers文件的权限该回去,是因为如果收入文件最高的权限后,将无法使用"sudo"命令

4、使用sudo临时授予普通用户Root权限

[chenxin@localhost etc]$ cd /               >>退到根目录
[chenxin@localhost /]$ sudo su chenxin
[sudo] chenxin 的密码:
[chenxin@localhost /]$                      
>>现在我们的普通用户已经获得Root用户权限了

到这里,Red Hat Enterprise Linux 使用sudo临时授予普通用户Root权限的方法,以及用户不在sudoers文件中解决办法就讲解完成了,也请大家多多指教。

参考文献

[1]Red Hat Enterprise Linux 8.0运维与管理.[B].中国工信出版社.电子工业出版社.2020.11
[2]gaoyi445.添加用户到sudoers.[cp].CSDN.2018-05-28


版权声明:本文为weixin_48446339原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。