Linux 杂记 特殊权限管理之sudo

野性酷女 2022-05-27 08:59 263阅读 0赞
  • sudo:
  1. * 特殊权限管理,用于给不同的用户管理不同的功能,使彼此只见不相互干扰;
  2. * `Linux`通过`sudo`不进行用户切换,但是在使用`sudo COMMAND`的那一刻拥有了执行这个命令的权限;
  3. * `sudo`:用于定义某个用户能够以另某用户的身份通过某主机执行某命令,其中配置文件在`cat /etc/sudoers`,使用`visudo`来编辑,而且可以用来检查其语法的正确性,`visudo -f /etc/sudoers`,
  • /etc/sudoers :配置文件的语法格式:
  • 每一个行用于定一个一个sudo条目:

    who which_hosts=runas TAG:conmand
    root ALL=(ALL) ALL //表示管理员可以使用任何身份执行任何命令;

  • sudo支持别名机制,类似定义的管理组

  • 1.who:User_Alias

    User_Alias FULLTIMERS = millert, mikef, dowdy
    必须使用大写英文字母的组合,用户别名可以包含当前主机上面的用户组,
    User_Alias FULLTIMERS = %millert, %mikef, %dowdy
    这里表示的就是组名;

  • 2.which_hosts:Host_Alias

    主机别名可以使用主机名,IP,组名,网络地址,其他主机地址; Host_Alias CSNETS = 128.138.243.0, 128.138.204.0/24, 128.138.242.0

  • 3.runas:Runas_Alias:支持用户名,%组名,其他的Runas别名;

  • 4.command:Cmnd_Alias:命令最好是用绝对路径,目录:此目录内的所有路径,其他实现定义过的命令别名;
  • 对于上述的四种别名,别名必须是大写的英文字母;
  • 5.TAG:支持标签,NOPASSWD:表示执行这个命令是不需要密码的;
  • 接下来实现hadoop通过sudo执行useradd命令,并且能够添加用户
  • 1.visudo -f /etc/sudoers

    添加:
    hadoop ALL=(root) /usr/sbin/useradd,/usr/sbin/usermod
    $ sudo useradd tom
    sudo] password for hadoop: //需要输入hadoop的密码
    $ sudo /usr/sbin/userdel tom
    Sorry, user hadoop is not allowed to execute ‘/usr/sbin/userdel tom’ as root on localhost.localdomain.
    $ sudo usermod -s /bin/csh tom

  • 接下来添加执行不使用密码的方式来执行上面两个命令:
    这里写图片描述
    这里写图片描述

  • 定义用户管理类别名的方式

    User_Alias USERNAME=haoop,%hadoop,%useradmin
    Cmnd_Alias USERADMINCMMD=/usr/sbin/useradd,/usr/sbin/usermod,/usr/sbin/userdel,/usr/bin/passwd [A-Za-z]*,! /usr/bin/passwd root
    USERNAME ALL=(root) NOPASSWD:USERADMINCMMD

  • sudo 默认用户在第一次认证通过的开始将用户的密码记录下来,并且默认时间为5分钟;

  • sudo:
  1. * `-k`:命令用于让认证信息失效,用户下次执行仍然需要密码;
  2. * `-l`:用于列出当前用户可以使用的sudo类命令;
  • 使用sudo执行的命令过程都是在/var/log/secure都有进行定义;,如果邮件服务是正常的,当存在非法用户执行sudo命令时,超级用户是可以是收到邮件通知的;

发表评论

表情:
评论列表 (有 0 条评论,263人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux笔记(42)——sudo权限

    sudo权限 在工作中使用linux,root用户不一定有时间去管理系统,而普通用户的权限又比较低,有许多命令是无法执行的,因此我们可以把一些本来只有root用户才能执行

    相关 linux权限su和sudo的区别

    我们都知道很多的文件都只有root有权限来修改,那么在我们平时的开发过程中都建议使用一般账号来登录进行开发,还记得前面说到的ssh吗,我们也是将允许root登录设置成no,到必

    相关 特殊权限管理

    用户在执行进程命令时,需要调用一个属主和属组是用户本身的 `bash` 进程,同时对应 一个属主和属组是 `root` 的文件,在执行时一其他用户的身份执行命

    相关 Linux用户添加sudo权限

    1.背景:       sudo是Linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部root命令的一个工具。Linux系统下,为了安全,一般来说我们操作都是