Linux 用户管理切换用户su和提取命令sudo-visudu详解

一、su  --run a shell with substitute user and group IDs

  • -,-l,--login

    make the shell a login shell, clears all envvars except forTERM, initializes HOME, SHELL, USER, LOGNAME and PATH

    带-参数和不带-参数切换用户示例:

    

 

 

  • -c, --command=COMMAND
    pass a single COMMAND to the shell with -c 以指定用户执行某个命令

   应用示例:

#####分用户启动服务#####
su - test -c '/bin/sh /home/test/bin/deploy.sh'

 

  • su命令为管理Linux系统带来了很多方便,同时有很大的安全管理问题。我们希望多个系统管理员能够完成更过更复杂的系统管理工作,而又不使超级权限泛滥,需要sudu命令替代或者结合su命令实现这样苛刻且必要的管理需求。

二、sudo  

       

  • sudu执行流程:
  • sudo配置文件 /etc/sudoers 用visudo编辑
  • sudo提权配置说明:
用户或组 机器=(授权角色) 可以执行的命令
user MACHIE=   COMMANDS
test ALL=(ALL) /user/sbin/useradd,/user/sbin/userdel
    说明:如果test用户被授予上述权限,那么它可以在所有机器上以所有角色运行useradd、userdel命令
    举例:
      编辑visudo :

      切换test用户执行sudo命令:

      执行结果:

三、sudo 配置文件 /etc/sudoers 注意事项

  • 授权规则中所有的字符串ALL 必须大写
  • Cmnd_Alias    USERMAND=/usr/sbin/useadd,/usr/sbin/userdel,\

  !/usr/bin/passwd,/usr/bin/passwd[A-Za-z]*,

  禁止的命令尽量放后面

  • 一行内容超长可以用“\”斜线换行。
posted on 2018-11-30 09:09  g2zh  阅读(1163)  评论(0编辑  收藏  举报