美文网首页LinuxLinux
从零开始学习Linux(二十九):sudo权限

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

作者: 通靈鹿小六 | 来源:发表于2020-12-20 06:58 被阅读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

    • 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
    

    如下图所示:

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

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

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

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

    /usr/bin/passwd wangsulong
    

    结果报错,如下图所示:

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

    sudo /usr/bin/passwd wangsulong
    

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/vtvagktx.html