sudo的使用

Posted huaxingorg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sudo的使用相关的知识,希望对你有一定的参考价值。

sudo的使用

      su: Switch User
        su -l user -c ‘Command‘
            su -user7 -c ‘echo $PATH‘ 只用用户执行命令,不切换用户
                   -l login
                   -s 切换后使用指定的shell

      su -l root -c "Command"

      su -l root

      sudo: 是可以让某个用户不需要拥有管理员密码,可以执行管理源的权限。
              作为管理员可以指派某些用户可以执行某些特定命令。类似suid

            授权之后,能够让某用户以另外一个用户的身份运行命令

            配置文件:/etc/sudoers/
                root ALL=(ALL)  ALL
                %wheel  ALL=(ALL)  ALL  //wheel组内的用户可以用任意用户执行任意

                who:运行命令者的身份 user
                where 通过哪些主机   host
                (whom) 以哪个用户的身  runas
                which 运行哪些命令  cmd

                配置项
                    users  host=(runas)  cmd
                centos   ALL=(root)  ALL

                 users:
                    username
                    #uid
                    user_alias
                    %group
                    %#gid
                    前加!取反

                  host:
                     ip , hostname, netaddr

                  cmd:
                      command name
                      directory
                      sudoedit 这个基本不能用

                  CMnd_Alias NETADMINCMNDS= /usr/bin/passwd [a-z]*,!/usr/bin/passwd root  //不给更改root用户密码的权限
                别名定义规则
                Aliases_Type NAME = item1,item2

                  User_Alias NETADMIN = netuser1,netuser2  //用户别名
                  //命令别名,定义到命令的目录 只能执行ip命令
                  CMnd_Alias NETADMINCMNDS= /usr/sbin/ip,/usr/bin/passwd,/usr/sbin/usermod,
                  CMnd_Alias NETADMINCMNDS= /usr/bin/passwd [a-z]*,!/usr/bin/passwd root  //不给更改root用户密码的权限
                  NETADMIN  ALL=(root) NETADMINCMNDS  //指出规则
                  useradd netuser1
                  useradd netuser2
                  echo "huaxing.com" | passwd --stdin netuser1


            #sudo Command
                  -k清除之前记录的密码
                  -l显示自己的权限
                  -u指定代替用户的身份,不给用root

                root]# sudo -u centos whoami
                centos

                usermod -a -G wheel centos //centos 加入wheel组 使用sudo可以当管理员用
                sudo fdisk -l
            visudo /etc/sudoers  带语法检查

以上是关于sudo的使用的主要内容,如果未能解决你的问题,请参考以下文章

使用sudo命令时出现如下错误,为啥应当如何处理

sudo

linux之sudo使用技巧汇总

使用sudo提升权限

sudo命令

sudo简单应用