linux 通过sudo细化用户使用权限

背景摘要

生产上经常会遇到,在linux服务器上针对不同的用户限制不同的权限.通过sudoers可以细化权限

实现操作

添加用户和设置密码
useradd zhangsan
echo "zhangsan" | passwd --stdin zhangsan
useradd lisi
echo "lisi" | passwd --stdin lisi
useradd wangwu
echo "wangwu" | passwd --stdin wangwu
useradd liuzi
echo "liuzi" | passwd --stdin liuzi

通过开启rsynlog收集用户操作日志
rpm -qa|egrep "sudo|rsyslog"
chmod +w /etc/sudoers
添加rsyslog记录日志
echo "Defaults logfile=/var/log/sudo.log" >>/etc/sudoers

编辑添加授权用户
#chmod +w /etc/sudoers
#vim /etc/sudoers
guoyibiao ALL=(ALL:ALL) NOPASSWD:ALL
chenanbin ALL=(ALL:ALL) NOPASSWD:ALL
luyang ALL=(ALL:ALL) NOPASSWD:ALL
zengxueling ALL=(ALL:ALL) NOPASSWD:ALL

#尾部加入不允许更改密码、不允许使用的命令
User_Alias DEVELOPER = some,zhansan,lisi,wangwu,liuzi
DEVELOPER ALL=(ALL) NOPASSWD: ALL,!/bin/bash,!/bin/su,!/bin/su root,!/bin/su -,!/bin/su - root,!/usr/bin/sudo,!/usr/bin/chattr,!/usr/sbin/useradd,!/usr/sbin/userdel,!/usr/bin/passwd,/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root, !/usr/bin/ssh

Defaults logfile=/var/log/sudo.log
#chmod -w /etc/sudoers
#visudo -c

#tail -1 /etc/rsyslog.conf
local2.debug /var/log/sudo.log

#systemctl restart rsyslog

其实也可以将用户添加到某个组对组进行细化授权
#使用授权账号进行测试
tail -f /var/log/sudo.log
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: