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


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

    二、项目过程  

    1.服务器上创建用户

    yuw001 
    yuw002 
    yuw003 
    gyuw001 
    gyuw002 
    yuwmanager
    
    manager   
    
    cjkaifa001 
    cjkaifa002 
    cjkaifa003 
    gjkaifa001
    gjkaifa001 
    kaifamanager  
    
    gjnetwork001   
    
    gjdba001
    
    密码统一设置为111111
    

    2.定义各类别名配置

    定义命令别名

    ## 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_Alias别名

    ## Runas_Aliases For sudo by guanliyuan 20160808
    
    Runas_Alias     OP = root
    

    配置sudoers配置

    ##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.备份正确配置并修改实际生产服务器配置文件

    生产服务器中配置之前记得备份原有的配置文件,防止出现错误时可以即时恢复原来的配置 

    抄自于:https://mp.weixin.qq.com/s?__biz=MzI0MDQ4MTM5NQ==&mid=2247484282&idx=1&sn=d06ae5fa453fea18c5ecbd31ab0fe208&scene=21#wechat_redirect 

    "一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少
  • 相关阅读:
    python matplotlib 绘图
    python set add 导致问题 TypeError: unhashable type: 'list'
    python 子类继承父类的__init__方法
    python 内存监控模块之memory_profiler
    git log 常用命令
    wireshark使用教程
    python os.path模块
    Linux crontab 定时任务
    linux环境变量LD_LIBRARY_PATH
    Linux的ldconfig和ldd用法
  • 原文地址:https://www.cnblogs.com/panwenbin-logs/p/14364739.html
Copyright © 2020-2023  润新知