Linux学习之如何让普通用户获得ROOT权限

时间:2022-07-20 15:47:02

(在学习sodu的时候,我发现一些命令只能由root用户使用,普通用户使用会提示此用户没有使用sudo的权限。我想到的解方法是把正在使用的普通用户获得root权限,于是我通过百度和询问老师知道了如何去实现。

举例:

1.创建一个新用户boy,密码:123456(自定义)

Linux学习之如何让普通用户获得ROOT权限

2.尝试一个非超级用户不能执行的命令

Linux学习之如何让普通用户获得ROOT权限

sudo -l :查看当前用户可使用的命令,仅限root用户可用。

3.修改sudo配置文件/etc/sudoers

sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机,它默认的存放位置是/etc/sudoers。

(1)查看并修改sudoers的文件权限

Linux学习之如何让普通用户获得ROOT权限
我发现sudoers是一个只读文件,若要修改,必须修改权限。

(2)利用visudo编辑sudoers配置

配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。
之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。
visudo默认的是在vi里打开配置文件,用vi来修改文件。我们可以在编译时修改这个默认项。visudo不会擅自保存带有语法错误的配置文件,它会提示你出现的问题,并询问该如何处理,就像:
Linux学习之如何让普通用户获得ROOT权限
此时有三种选择:键入“e”是重新编辑,键入“x”是不保存退出,键入“Q”是退出并保存。如果真选择Q,那么sudo将不会再运行,直到错误被纠正。

在sudoers找到下面的类似语句:
Linux学习之如何让普通用户获得ROOT权限
显然,这就是我要修改的地方了,有root为例子,我照着在下面添加要增添ROOT权限的用户:
Linux学习之如何让普通用户获得ROOT权限
保存退出,这样就完成了对boy添加root权限。

(4)可以注意到,这里有三个ALL,它们的意思分别是:

  • 第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明boy可以在此主机上执行后面的命令。
  • 第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。
  • 最后一个ALL是指命令名

例如,我们想让boy用户在linux主机上以root的身份执行kill命令,这样编写配置文件:

boy=root/bin/kill

3.将sudoers访问权限恢复440

chmod 440 sudoers

4.登陆普通用户,测试权限