企业实战项目之服务器用户权限集中管理

时间:2022-07-25
本文章向大家介绍企业实战项目之服务器用户权限集中管理,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

企业实战项目之服务器用户权限集中管理

实际生产环境中可能服务器相当多,随之服务器维护、管理人员也逐渐增多(运维+开发+项目经理+DBA等),因每个人员的操作水平不同,所以从业务角度与服务器安全性来看,一定的权限划分是有必要的,也是实际生产环境中必须要做的,为了解决用户的权限问题,今天来聊一聊服务器用户权限集中管理的解决方案。

前面介绍了相关的用户权限提权管理方法,就是采用sudo授权的方式进行管理,因为当企业内部人员居多,权限划分类别也比较细化的时候,一个个的添加也比较耗费时间与精力,后期修改与维护也非常麻烦,因此,今天我们结合前面讲的sudoers配置规则(别名)来进行相关权限集中管理。

项目环境:

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

项目过程

一、服务器上创建用户

yuw001 yuw002 yuw003 gyuw001 gyuw002 yuwmanager
manager   cjkaifa001 cjkaifa002 cjkaifa003 gjkaifa001gjkaifa001 
kaifamanager  gjnetwork001   gjdba001

密码统一设置为111111

二、定义各类别名配置

1、定义命令别名

2、定义用户别名

3、定义Runas_Alias别名

三、配置sudoers配置

四、测试环境编写配置文件/etc/sudoer(visudo)

保存退出时提示有错误,经检查发现的确存在错误修改后如下

五、测试环境测试配置结果

测试结果显示配置完全正确,达到预定要求,因些可以备份一份到本地然后去配置生产服务中的配置文件

最终配置文件如下

## 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

## 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_Aliases For sudo by guanliyuan 20160808
Runas_Alias     OP = root
##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

六、备份正确配置并修改实际生产服务器配置文件

注:生产服务器中配置之前记得备份原有的配置文件,防止出现错误时可以即时恢复原来的配置cp /etc/sudoers /etc/sudoers.bak.gl.20160808

整个配置过程需要注意的事项

1、定义用户别名时需要大写,小写会出现错误

2、定义命令别名时需要写出绝对路径,换行用“”

3、配置时注意加上注释,以便后期维护