从零开始学习Linux(二十九):sudo权限

1、sudo权限说明

sudo权限是root把本来只能超级用户执行的命令赋予普通用户执行。
sudo的操作对象是系统命令;

使用visudo命令可以进行sudo权限操作。如下图所示:

visudo命令

visudo命令,实际修改的是 /etc/sudoers文件(命名非常人性化,sudo命令执行者们~~~),和使用vim /etc/sudoers命令作用一模一样。

执行命令,查看/etc/sudoers文件:

vim /etc/sudoers
从零开始学习Linux(二十九):sudo权限_第1张图片
1.1、使用sudo给用户赋予权限

配置格式:root ALL=(ALL) ALL

  • root:用户名;
  • 第一个ALL:被管理主机的地址;
  • 第二个ALL:表示可使用的身份;
  • 第三个ALL:表示授权命令(绝对路径);

注意:被管理主机的地址,指的并非访问来源IP,而是访问目标IP!!!

说明:假设用户A的IP是192.168.1.123,要访问的Linux服务器IP地址是192.168.1.127。此时Linux服务器的超级用户在为用户A赋予sudo权限的时候,第一个ALL的IP地址要填写本服务器IP即192.168.1.127,而非用户A的电脑IP。

1.2、使用sudo给用户组赋予权限

配置格式:%wheel ALL=(ALL) ALL;

  • wheel:用户组名;
  • 第一个ALL:被管理主机的地址;
  • 第二个ALL:表示可使用的身份;
  • 第三个ALL:表示授权命令(绝对路径);

注意:%不能被省略!!!

2、查看可用的sudo命令

命令:sudo -l;

3、普通用户执行sudo命令

命令格式:sudo [授权命令的绝对路径];

4、sudo权限示例

示例场景:超级用户root每天忙得不行,所以把修改密码的权限赋予了zhoujielun,让其代劳。

使用vim命令打开/etc/sudoers文件,在其中添加内容 zhoujielun ALL=/usr/bin/passwd,如下图所示:

然后强制保存退出。

执行命令,切换用户到zhoujielun:

su - zhoujielun

查看用户zhoujielun可执行的sudo命令:

sudo -l

如下图所示:

从零开始学习Linux(二十九):sudo权限_第2张图片

使用sudo命令,会要求输入用户的密码(一段时间内无需输入密码即可查询)。

输入密码验证成功后,会显示用户可以使用的sudo命令。

从零开始学习Linux(二十九):sudo权限_第3张图片

此时使用命令为用户wangsulong更改密码。注意必须要使用 sudo+命令绝对路径的方式,如果不加sudo,会提示只有root可以修改密码。

不加sudo直接更改密码,执行命令:

/usr/bin/passwd wangsulong

结果报错,如下图所示:

必须要使用sudo命令,才表示使用的是root用户赋予的更改密码权限,执行命令:

sudo /usr/bin/passwd wangsulong

如下图所示,能够为用户wangsulong修改密码了。

从零开始学习Linux(二十九):sudo权限_第4张图片

你可能感兴趣的:(从零开始学习Linux(二十九):sudo权限)