linux_sudo命令
sudo
为了收拾su命令的烂摊子
- 普通用户要切换root,必须要知道root密码,那么相当于人人都有了核按钮,那是绝对不允许的
- 用su切换到root,无法对是谁要求root权限的身份进行控制,拿到root权限就可以获得超级用户的所有权限,为所欲为,更改root密码,让真正的root管理员没法管理
把某些超级权限分类有针对性授权给指定普通用户,指定的普通用户不需要知道root密码就可以得到root授权的操作,集权式管理
visudo 编辑/etc/sudoers文件,有语法检查
/etc/sudoers
root ALL=(ALL) ALL 用户名、允许ip机器名单、允许切换用户名单、命令绝对位置
需求:
给 beimen 一个useradd的命令权限
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的提权操作命令
sudo命令相关参数:
-l 查看当前用户授权命令
-c 语法检查,每次visudo之后,通过 visudo -c 进行语法检查
-u 指定某个身份用户执行
-v 检验时间戳
-k 删除时间戳
主机别名:
Host_Alias
生产环境使用ALL,其实是逻辑上的主机组,多台服务器共享一个 /etc/suders时候会用到这个主机别名,授权在那个主机上生效,一个配置文件在多个主机上使用,现在都是单机
用户别名:
User_Alias
当用户组和用户比较大时候,组前面需要添加%,当对用户别名授权权限时候,相当于给这一类用户和组授权
用户身份别名:
Runas_Alias
sudo执行可以切换的身份,一般为root
命令别名:
Cmnd_Alias
将命令分类,通过别名可以授权多个指定的命令
什么情况下使用别名?
工作中一般有多个系统用户,需要分类、分层次管理用户的时候
把用户和组进行分类,各自对应不同的别名,把命令依据需要对应的权限范围分类,然后将这两个类进行连线
分为身份权限和命令权限,按岗位需求进行授权
什么是sudo日志审计?
并不记录普通用户的普通操作,而是记录那些sudo命令的用户操作
生产环境日志审计解决方案?
- sudo配合rsyslog服务,进行日志审计
- bash解释器程序里嵌入一个监视器
- 齐治堡垒机,商业软件
- 开源跳板机,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 + 命令 方式执行授权命令
linux_sudo命令的更多相关文章
- Cmder--Windows下命令行利器
cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 安装包 安装包链接 下载后,直接解压即用. 修改命令提示符λ为 ...
- 【每日一linux命令4】常用参数:
下面所列的是常见的参数(选项)义: --help,-h 显示帮助信息 --version,-V ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- MVVM模式解析和在WPF中的实现(三)命令绑定
MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- SQLServer执行命令出现“目录无效的提示”
异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...
- SQLServer文件收缩-图形化+命令
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 收缩前 图形化演示: 不仅仅可以收缩日记文件,数据库文件也是可以收缩的,只不过日记收缩比 ...
- 让 windows 下的命令行程序 cmd.exe 用起来更顺手
在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...
- [版本控制之道] Git 常用的命令总结(欢迎收藏备用)
坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...
- git 命令
切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm ...
随机推荐
- k8s 重要概念 - 每天5分钟玩转 Docker 容器技术(117)
在实践之前,必须先学习 Kubernetes 的几个重要概念,它们是组成 Kubernetes 集群的基石. Cluster Cluster 是计算.存储和网络资源的集合,Kubernetes 利用这 ...
- Javascript一句代码实现JS字符串去除重复字符
需求: 原字符串:abcdabecd 去重后字符串:abcde JS字符串去重,一个简单需求,网上找案例发现都是一大堆代码,对于强迫症的我 实再无法忍受,于是自己手动写出一段代码,完美解决该问题. 代 ...
- Java学习笔记13(面向对象六:super)
在创建子类对象时,父类的构造方法会先执行,因为子类中所有构造方法的第一行有默认的隐式super();语句 注意:父类构造方法第一行也有隐式的super(); 所有类都有一个"祖宗类" ...
- CubeMX使用及感受
简介 CubeMX这几年刚流行起来,是一个STM32代码的初始化配置工具,里面封装了硬件层.中间层,以及示例代码. cube使用 该软件的安装需要较高版本jdk支持,固件库安装时需要注意和主程序的版本 ...
- Go 语言打包静态文件
对于 Go 语言开发者来说,在享受语言便利性的同时,最终编译的单一可执行文件也是我们所热衷的.但是,一旦遇到我们需要分发的东西不只有可执行文件的时候,事情就变得稍微有点复杂了,例如,需要分发个默认的配 ...
- mac 上安装服务,查看服务,重启和关闭
首先了解下的Mac的 homebrew ,官网:https://brew.sh/index_zh-cn.html 简单的说: Homebrew 能干什么? 答:使用 Homebrew 安装 Apple ...
- [PHP] PHP与Apache的模块配合说明
1.当PHP需要在Apache服务器下运行时 一般来说,它可以mod_php5模块的形式集成, 此时mod_php5模块的作用是接收Apache传递过来的PHP文件请求,并处理这些请求, 然后将处理后 ...
- 用Windbg来分析.Net程序的dump
介绍 1. 什么是Windbg WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件. WinDbg是微 ...
- iOS 使用矢量图
iOS 使用矢量图 iOS 图标通常用 PNG 格式的图片.PNG 图片放大到超过自身的大小就会模糊.可以使用 PDF 格式的矢量图,优点是任意改变图片大小并且保持清晰度. 简单使用 与 PNG 格式 ...
- CTF---安全杂项入门第二题 A记录
A记录分值:20 来源: sammie 难度:中 参与人数:2255人 Get Flag:566人 答题人数:621人 解题通过率:91% 他在看什么视频,好像很好看,不知道是什么网站的. 还好我截取 ...