查看原文
其他

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

2016-08-29 民工哥 民工哥Linux运维

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


实际生产环境中可能服务器相当多,随之服务器维护、管理人员也逐渐增多(运维+开发+项目经理+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,\

52 28888 52 14988 0 0 1838 0 0:00:15 0:00:08 0:00:07 3326>

 /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、配置时注意加上注释,以便后期维护


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存