LinuxLinux

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

2020-12-20  本文已影响0人  通靈鹿小六

1、sudo权限说明

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

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

visudo命令

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

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

vim /etc/sudoers
1.1、使用sudo给用户赋予权限

配置格式: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;

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

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

如下图所示:

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

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

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

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

/usr/bin/passwd wangsulong

结果报错,如下图所示:

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

sudo /usr/bin/passwd wangsulong

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

上一篇下一篇

猜你喜欢

热点阅读