linux[基础]-20-用户与文件权限-[su命令和sudo服务]-[03]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux[基础]-20-用户与文件权限-[su命令和sudo服务]-[03]相关的知识,希望对你有一定的参考价值。

su命令和sudo服务

 

su命令用于切换用户(切换登陆者)

  格式:su [-] 用户名

  [-]:表示使用新用户的环境变量

 

  使用[-]作用:

    [[email protected] test1]# echo $PATH   #查看root的环境变量

    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    [[email protected] test1]# su - linuxs

    Last login: Sun Sep 10 11:56:54 CST 2017 on pts/0

    [[email protected] ~]$ echo $PATH    #查看linuxs的环境变量

    /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/linuxs /.loc al/bin:/home/linuxs/bin

    [[email protected] ~]$

   

  从su切换用户模式退出:

    [[email protected] ~]$ exit

    logout

    [[email protected] test1]#

 

  sudo命令用于给普通用户提供额外的权限来完成原本超级用户才完成的任务

    使用sudo程序可以仅将特定的命令/程序执行权限赋予指定用户,

      同时避免多次使用root用户,合理使用sudo功能可以兼顾

        安全性和用户便捷性

 

  sudo特色功能:

    1. 限制用户执行指定的命令
    2. 记录用户执行的每一条命令
    3. 配置文件(/etc/sudoers)提供几种的管理用户、权限与主机参数
    4. 验证密码过5分钟(默认值)内,无需再次验证密码,方便

 

格式为:sudo [参数] 命令名称

 

参数

作用

-h

列出帮助信息

-l

列出当前用户可执行的命令

-u 用户名/UID

以指定用户身份执行命令

-k

清空安全时间,下次执行需要验证密码

-b

在后台执行指定命令

-p

更改询问密码提示语

 

 

 

  只有使用超级用户才可以使用visudo命令编辑sudo程序的配置文件(/etc/sudoers)

  visudo优势:

    防止多个用户同时修改sudo配置文件;

    对sudo程序配置文件进行语法检查

 

  实例1-允许linuxs用户使用所有命令

 

    [[email protected] test1]# visudo

    linuxs ALL=(ALL) ALL

    [[email protected] linuxs]# su - linuxs

    Last login: Sun Sep 10 17:52:42 CST 2017 on pts/1

    [[email protected] ~]$ sudo -l   #查看用户可以执行那条命令

    [sudo] password for linuxs:     #验证信息

    Matching Defaults entries for linuxs on this host:

    ……

    ……  

    XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

     

    User linuxs may run the following commands on this host:

        (ALL) ALL          #此处显示用户可执行的命令

    [[email protected] ~]$ cat /etc/shadow

    cat: /etc/shadow: Permission denied

    [[email protected] ~]$ sudo cat /etc/shadow

    root:$6$5rRwG5IF$ETMRlkg9N4L4Fz9hpnrt30FSRbVL0PuaCwWrnUm e5c5RFfB

    ……

    ……

    省略…………

     

  实验2-仅允许用户以root用户的方式执行cat命令

 

    [[email protected] test1]# visudo

    linux ALL=(root) /bin/cat

    [[email protected] ~]$ sudo -l     #查看当前用户可执行的命令

    [sudo] password for linuxs:

    Matching Defaults entries for linuxs on this host:

    XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

    User linuxs may run the following commands on this host:

        (root) /bin/cat     #此处显示可执行的命令

    [[email protected] ~]# su - linuxs

    Last login: Sun Sep 10 18:10:21 CST 2017 on pts/1

    [[email protected] ~]$ cat /etc/shadow

    cat: /etc/shadow: Permission denied

    [[email protected] ~]$ sudo cat /etc/shadow

    root:$6$5rRwG5IF$ETMRlkg9N4L4Fz9hpnrt30FSRbVL0PuaCwWrnUme5c5RFfB

    ……

    ……

    省略…………

 

  实验3-允许以任意用户执行命令,且每次不需要密码验证

 

    [[email protected] test1]# visudo

    linuxs ALL=NOPASSWD: ALL

    [[email protected] ~]# su - linuxs

    Last login: Sun Sep 10 18:19:25 CST 2017 on pts/1

      [[email protected] ~]$ sudo -l

    Matching Defaults entries for linuxs on this host:

    XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

    User linuxs may run the following commands on this host:

        (root) NOPASSWD: ALL

    [[email protected] ~]$ sudo ifconfig

    eno16777728:

    ……

    ……

    ……

 

 

 

 

以上是关于linux[基础]-20-用户与文件权限-[su命令和sudo服务]-[03]的主要内容,如果未能解决你的问题,请参考以下文章

linux[基础]-20-用户与文件权限-[文件隐藏权限]-[02]

Linux基础权限

Linux命令

LINUX文件目录权限

第二章   linux用户权限的设置与更改

linux su和sudo命令的区别