一、su sudo命令

  1.suSwitch User,用户切换命令

su-l user -c 'COMMAND'

su-l root -c 'COMMAND'

su-l root

  2.sudo

       授权用户以另外一个用户的身份运行指定命令;默认记录成功认证结果5分钟;

       以sudo的方式来运行指定的命令;sudo  [-uuser][options]COMMAND

-uuser: 默认为root;

-h: 获取帮助信息;

-k:清除此前记录用户密码;

sudo命令使用_sudo

 

 

二、sudo 配置

  1.配置文件:/etc/sudoers

         文件权限440,编辑此文件专用命令visudo,自动检测语法及相关错误

root        ALL=(ALL)        ALL

%wheel        ALL=(ALL)        ALL           # wheel组,加入此组的用户可以以root的身份来运行命令

  注意:定义普通用户在wheel组时候,可以su到管理员密码:# sudosu  - root

  2.配置项语法

        users        hosts=(runas)       commands

     userwho运行命令者的身份

     hostwhere通过哪些主机

     runas(whom)以哪个用户的身份,默认为root用户

      commands: 运行哪些命令

     (1)格式

users格式:username#uiduser_alias%group_name%#gidUser_Alias

host格式:iphostnameNetAddrhost_alias

command格式:commandnamedirectorysudoedit(可用于向其他用户授予sudo权限)Cmnd_Alias

     (2)定义别名:支持将多个用户,命令定义为一组用户

              格式:Alias_Type NAME = item1, item2, …

NAME:必须使用全大写字母;

Alias_Type可以为User_AliasHost_AliasRunas_AliasCmnd_Alias

    注意:

   1)必须使用完整的命令路径,因为普通用户的环境变量不支持/sbin权限

   2)限制普通用户不能更改root密码:/usr/bin/passwd[a-z]*, !/usr/bin/passwd root

  3.定义标签:

        在定义命令或者用户时可以定义执行(命令或执行用户)时是否使用密码

        常用标签:NOPASSWDPASSWD