文档章节

CentOS下sudo的使用和sudoers配置

yysue
 yysue
发布于 2018/04/05 20:57
字数 765
阅读 103
收藏 2

一、sudo命令

sudo [参数选项] 命令

参数选项

-l:列出目前用户可执行与无法执行的指令;
-v:延长密码有效期限5分钟;
-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;
-b:在后台执行指令;
-h:显示帮助;
-H:将HOME环境变量设为新身份的HOME环境变量;
-p:改变询问密码的提示符号;
-s<shell>:执行指定的shell;
-V :显示版本信息。

注意:

# 远程sudo加-t参数

二、sudo配置

Visudo Manual

# 配置文件位置
/etc/sudoers

root	ALL=(ALL) 	ALL
用户		机器 角色	命令

# 编辑配置文件
# 1。推荐使用visudo来编辑
# 2。批量管理用
echo "%sa ALL=(ALL) ALL" >> /etc/sudoers
# 检查配置文件语法
visudo -c
# 检查配置文件权限

2.1 主机别名

说明:

配置时注意写法
一般不用主机别名

2.2 用户别名

2.3 命令别名

2.4 身份别名

Runas_Alias OP = root, vagrant

2.5 使用别名

类似于rbac,用户别名就是角色,命令别名就是资源权限

# 用户别名
User_Alias ADMIN = vagrant, yysue
# 命令别名
Cmnd_Alias USERCMD = /sbin/useradd, /bin/passwd
Cmnd_Alias SOFTCMD = /bin/rpm, /usr/bin/yum
# 身份别名
Runas_Alias OP1 = root, vagrant
# 关联
ADMIN	ALL=(OP1)	USERCMD, SOFTCMD

三、sudo审计

sudo日志审计:记录sudo命令的用户的操作

所谓日志审计,就是记录所有系统及相关用户行为的信息,并且可以自动分析、处理、展示

  • 通过环境变量命令及rsyslog服务进行全部日志审计(信息太大,不推荐)
  • sudo配合rsyslog服务,进行日志审计(审计信息少,效果不错)
  • 在bash解释器程序里嵌入一个监视器,让所有被审计的系统用户使用修改过的增加了监视器的特殊bash程序作为解释程序
  • 齐治的堡垒机:商业产品
  • Python开发的开源产品
    • jumpserver
    • CrazyEye

3.1 配置(CentOS6)

1)检查是否安装sudo/rsyslog

# 检查
rpm -qa sudo rsyslog
# 安装
yum install sudo rsyslog -y

2)配置/etc/sudoers

# 追加一行配置:日志输出
echo "Defaults logfile=/var/log/sudo.log" >> /etc/sudoers

# 验证
tail -1 /etc/sudoers
grep 'Defaults' /etc/sudoers

# 检查语法
visudo -c

3)配置/etc/rsyslog.conf(可以不配置)

echo "local2.debug /var/log/sudo.log" >> /etc/rsyslog.conf

通过sudo运行的命令都被记录到配置的日志文件了

3.2 日志集中管理

rsync+inotify或定时任务+rsync,推到日志管理服务器上, ip_date.sudo.log

rsyslog服务来处理

日志收集解决方案:scribe,Flume,stom,logstash ELK

© 著作权归作者所有

yysue
粉丝 29
博文 284
码字总数 160062
作品 0
济南
程序员
私信 提问
ldap client配置sudo

url:http://blog.51cto.com/lansgg/1544951 1.快速登录主机(无需输入密码) cp /usr/share/doc/sudo-1.8.6p3/schema.OpenLDAP /etc/openldap/schema/sudo.schema vim /etc/openldap/slapd.......

liqius
2017/12/20
0
0
user is not in the sudoers file.

场景: 在CentOS中创建了一个新用户user,在调用sudo命令时,报:“user is not in the sudoers file. This incident will be reported” 错误,无法执行sudo命令。 分析: 在ubuntu中由于禁...

空心大白菜
2014/05/08
454
0
sudo: /etc/sudoers is mode 0640, should be 0440...

buntu或者CentOS中,/etc/sudoer 的权限为 0440时才能正常使用,否则sudo命令就不能正常使用。出现类似:sudo: /etc/sudoers is mode 0640, should be 0440 的对话。 解决办法: 1、Ctrl+Al...

lhanoo
2011/11/29
18
0
将用户添加至sudoers列表

在centos的系统下,默认情况是没有当前用户在sudoers列表内。当需要使用sudo命令时,就会报错当前用户没有在sudo列表中。这时就需要修改sudo的配置文件来解决这个问题。 1、首先,将当前用户...

pasilo
2018/06/28
0
0
身份切换与sudo

su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。以root身份切换至普通用户则不需要输入密码 su Centos 6 命令位置 /bin/su Centos 7 命令位置 /usr/bin...

ljpwinxp
2018/01/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS-启用SFTP

创建用户组及用户 $ groupadd sftp $ useradd -g sftp -s /sbin/nologin -d /home/sftp sftp 设置密码 $ passwd sftp 输入密码(123456) 确认密码 修改sshd_config文件 $ vim /etc/ssh/sshd_......

自由人生-ZYRS
20分钟前
11
0
这个IM项目没时间搞了,开源算了。10万并发,基于golang。

先上效果 安装方法 本系统升级到golang1.12,请开启如下支持 #开启go mod支持export GO111MODULE=on#使用代理export GOPROXY=https://goproxy.io 1.下载项目 git clone https://github.c...

非正式解决方案
24分钟前
6
0
Mysql基本操作

查看mysql中已经有的数据库 二、删除已经有的数据库school 三、创建新数据库myschool 四、进入到myschool中 五、查看myschool库中所有的表 六、新建一张student表 七、查看student表结构 八、...

愚蠢的土豆
24分钟前
8
0
经典检索算法:BM25

BM25算法是一种常见用来做相关度打分的公式 思路比较简单,主要就是计算一个query里面所有词和文档的相关度, 然后在把分数做累加操作 而每个词的相关度分数主要还是受到tf/idf的影响 其实就...

Java搬砖工程师
31分钟前
5
0
详解mycat+haproxy+keepalived搭建高可用负载均衡mysql集群

概述 目前业界对数据库性能优化普遍采用集群方式,而oracle集群软硬件投入昂贵,mysql则比较推荐用mycat去搭建数据库集群,下面介绍一下怎么用mycat+haproxy+keepalived搭建一个属于mysql数据...

小致Daddy
31分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部