linux_sudo命令

sudobash

       为了收拾su命令的烂摊子服务器

  1. 普通用户要切换root,必需要知道root密码,那么至关于人人都有了核按钮,那是绝对不容许的
  2. 用su切换到root,没法对是谁要求root权限的身份进行控制,拿到root权限就能够得到超级用户的全部权限,随心所欲,更改root密码,让真正的root管理员无法管理

  把某些超级权限分类有针对性受权给指定普通用户,指定的普通用户不须要知道root密码就能够获得root受权的操做,集权式管理ui

 

visudo  编辑/etc/sudoers文件,有语法检查spa

/etc/sudoers设计

  root    ALL=(ALL)       ALL           用户名、容许ip机器名单、容许切换用户名单、命令绝对位置日志

需求:server

  给 beimen 一个useradd的命令权限blog

which useradd    # 输出useradd命令绝对路径
visudo           # 进入编辑配置文件,会检查语法


# 按格式写入 beimen  ALL=(ALL)       /usr/sbin/useradd

# 用户组 机器=(受权使用哪一个角色的权限)

# 当有多条命令用逗号隔开,还能够 NOPASSORD:ALL,不要密码登陆

  

  

su - beimen    # 切换到beimen角色
sudo -l        # /查看拥有的 sudo权限,须要输入当前用户密码,有效期为5分钟,/vaf/db/sudo
sudo useradd chuixue        # 添加用户吹雪

经过sudo受权管理系统: 让用户权限最小化原则,还能够审计用户使用sudo的提权操做命令ip

sudo命令相关参数:class

       -l     查看当前用户受权命令

       -c 语法检查,每次visudo以后,经过 visudo -c 进行语法检查

       -u    指定某个身份用户执行

       -v    检验时间戳

       -k    删除时间戳

主机别名:

  Host_Alias

  生产环境使用ALL,实际上是逻辑上的主机组,多台服务器共享一个 /etc/suders时候会用到这个主机别名,受权在那个主机上生效,一个配置文件在多个主机上使用,如今都是单机

用户别名:

  User_Alias

  当用户组和用户比较大时候,组前面须要添加%,当对用户别名受权权限时候,至关于给这一类用户和组受权

用户身份别名:

  Runas_Alias

  sudo执行能够切换的身份,通常为root

命令别名:

  Cmnd_Alias

  将命令分类,经过别名能够受权多个指定的命令

什么状况下使用别名?

  工做中通常有多个系统用户,须要分类、分层次管理用户的时候

  把用户和组进行分类,各自对应不一样的别名,把命令依据须要对应的权限范围分类,而后将这两个类进行连线

  分为身份权限和命令权限,按岗位需求进行受权

什么是sudo日志审计?

       并不记录普通用户的普通操做,而是记录那些sudo命令的用户操做

生产环境日志审计解决方案?

  1. sudo配合rsyslog服务,进行日志审计
  2. bash解释器程序里嵌入一个监视器
  3. 齐治堡垒机,商业软件
  4. 开源跳板机,jumpserver和CrazyEye

sudo日志审计:

rpm -qa sudo rsyslog         # 查询是否安装

echo -e "Defaults\tlogfile=/var/log/sudo.log" >> /etc/sudoers      # 追加一行

su - beimen          # 切换到beimen用户下

sudo useradd chuixue        # 执行sudo命令,添加用户,须要输入密码

su -                             # 切换到root用户

cat /var/log/sudo.log      # 查看 beimen使用sudo的记录,不管是成功执行仍是没有成功执行的名

# 将会看到beimen用户添加用户日志,时间,执行的命令等,假如三次密码输入错误也会加入日志,执行没有权限也会加入日志,只要是经过sudo执行的命令都会记录

 

别名总结:

  1. sudo命令是给普通用户进行受权root才能执行的命令

  2. 生产场景下,使用监控软件 或使用 sudo配合rsyslog进行sudo权限进行审计

echo -e "Defaults\tlogfile=/var/log/sudo.log" >> /etc/sudoers 
cat /var/log/sudo.log        # 查看sudo命令日志

  3. 经过visudo编辑 /etc/sudoers文件并会有语法检查

  4. 经过主机别名、用户别名、命令别名、用户身份别名,按照部门须要进行更加精确的权限命令设计,别名都要大写,组前要加%,多个命令或用户用 , 隔开

  5. 普通用户经过 sudo + 命令 方式执行受权命令

相关文章
相关标签/搜索