Linux学习笔记之如何让普通用户获得ROOT权限
在学习sodu的时候,我发现一些命令只能由root用户使用,普通用户使用会提示此用户没有使用sudo的权限。我想到的解方法是把正在使用的普通用户获得root权限,于是我通过百度和询问老师知道了如何去实现。
举例:
1.创建一个新用户boy,密码:123456(自定义)
2.尝试一个非超级用户不能执行的命令
sudo -l :查看当前用户可使用的命令,仅限root用户可用。
3.修改sudo配置文件/etc/sudoers
sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机,它默认的存放位置是/etc/sudoers。
(1)查看并修改sudoers的文件权限
我发现sudoers是一个只读文件,若要修改,必须修改权限。
(2)利用visudo编辑sudoers配置
#配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。 #之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。 #visudo默认的是在vi里打开配置文件,用vi来修改文件。我们可以在编译时修改这个默认项。#visudo不会擅自保存带有语法错误的配置文件,它会提示你出现的问题,并询问该如何处理,就像:
# 此时有三种选择:键入“e”是重新编辑,键入“x”是不保存退出,键入“Q”是退出并保存。如果真选择Q,那么sudo将不会再运行,直到错误被纠正。
在sudoers找到下面的类似语句:
显然,这就是我要修改的地方了,有root为例子,我照着在下面添加要增添ROOT权限的用户:
保存退出,这样就完成了对boy添加root权限。
(4)可以注意到,这里有三个ALL,它们的意思分别是:
第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明boy可以在此主机上执行后面的命令。
第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。
最后一个ALL是指命令名
例如,我们想让boy用户在linux主机上以root的身份执行kill命令,这样编写配置文件:
boy=root/bin/kill
3.将sudoers访问权限恢复440
chmod 440 sudoers
4.登陆普通用户,测试权限