企业实战项目之服务器用户权限集中管理
实际生产环境中可能服务器相当多,随之服务器维护、管理人员也逐渐增多(运维+开发+项目经理+DBA等),因每个人员的操作水平不同,所以从业务角度与服务器安全性来看,一定的权限划分是有必要的,也是实际生产环境中必须要做的,为了解决用户的权限问题,今天来聊一聊服务器用户权限集中管理的解决方案。
前面介绍了相关的用户权限提权管理方法,就是采用sudo授权的方式进行管理,因为当企业内部人员居多,权限划分类别也比较细化的时候,一个个的添加也比较耗费时间与精力,后期修改与维护也非常麻烦,因此,今天我们结合前面讲的sudoers配置规则(别名)来进行相关权限集中管理。
一、项目环境
1 2 3 4 5 6 7 8 9 10 11 | 1、目前公司有初级运维三人、高级运维二人、运维经理一人 2、项目经理三人 3、初级开发人员三人、高级开发二人、开发经理一人 4、高级网络工程师一人 5、高级DBA一人 6、目前权限管理存在无序的状态,服务器操作非常不安全 7、系统环境 [root@Centos ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@Centos ~]# uname -r 2.6.32-431.el6.x86_64 |
二、项目过程
1.服务器上创建用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | yuw001 yuw002 yuw003 gyuw001 gyuw002 yuwmanager manager cjkaifa001 cjkaifa002 cjkaifa003 gjkaifa001 gjkaifa001 kaifamanager gjnetwork001 gjdba001 密码统一设置为111111 |
2.定义各类别名配置
定义命令别名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ## Command Aliases For sudo by guanliyuan 20160808 Cmnd_Alias CY_CMD = /bin/ping, /bin/hostname, /usr/bin/free, /sbin/route, /bin/netstat Cmnd_Alias GY_CMD = /bin/ping, /bin/hostname, /usr/bin/free, /sbin/route, \ /bin/netstat, /sbin/ifconfig, /sbin/dhclient, /usr/bin/net, /sbin/iptables,\ /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool, /bin/mount,\ /bin/unmount, /sbin/fidisk, /sbin/parted, /sbin/sfdisk, /bin/rpm, /bin/kill Cmnd_Alias CK_CMD = /usr/bin/tail/app/log*, /bin/cat, /bin/ls Cmnd_Alias GK_CMD = /sbin/service, /sbin/chkconfig, /usr/bin/tail/app/log*,\ /bin/cat, /bin/ls Cmnd_Alias GNET_CMD = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient,\ /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig,\ /sbin/mii-tool Cmnd_Alias GDBA_CMD = ALL, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root |
定义用户别名
1 2 3 4 5 6 7 8 9 | ## Users_Aliases For sudo by guanliyuan 20160808 User_Alias CYADMINS = yuw001, yuw002, yuw003 User_Alias GYADMINS = gyuw001, gyuw002 User_Alias CKADMINS = cjkaifa001, cjkaifa002, cjkaifa003 User_Alias GKADMINS = gjkaifa001, gjkaifa002 User_Alias GNETWORK = gjnetwork001 User_Alias GJDBA = gjdba001 |
定义Runas_Alias别名
1 2 3 | ## Runas_Aliases For sudo by guanliyuan 20160808 Runas_Alias OP = root |
配置sudoers配置
1 2 3 4 5 6 7 8 9 10 11 12 13 | ##Config For sudoers CYADMINS ALL=(OP) CY_CMD GYADMINS ALL=(OP) GY_CMD CKADMINS ALL=(OP) CK_CMD GKADMINS ALL=(OP) GK_CMD GNETWORK ALL=(OP) GNET_CMD GJDBA ALL=(OP) GDBA_CMD yuwmanager ALL=(ALL) NOPASSWD:ALL manager ALL=(ALL) ALL, /usr/bin/passwd [A-Za-z]*, !/usr/passwd root, !/usr/sbin/visudo, !/usr/bin/vi *sudoer* kaifamanager ALL=(ALL) ALL, /usr/bin/passwd [A-Za-z]*, !/usr/passwd root, !/usr/sbin/visudo, !/usr/bin/vi *sudoer* Defaults logfile=/ var /log/sudo.log |
3.备份正确配置并修改实际生产服务器配置文件
1 | 生产服务器中配置之前记得备份原有的配置文件,防止出现错误时可以即时恢复原来的配置 |
"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具