1、了解公司业务流程,提出权限整改解决方案,改进公司超级管理root权限泛滥问题

2、首先撰写方案,提出root权限泛滥的现状,给老大看,得到老大的支持后,召集大家开会讨论。

3、讨论确定可行后,由我推进实施

4、实施后效果,是否达到预期目标,撰写项目总结备案。

5、指定帐号权限申请流程及权限申请表格


经验:实施方案一般是由积极主动的人提出,并写好方案,召集大家讨论可行性,最后决定方案,实施部署,最后后期总结维护

思想:提出问题前,一定要想到如何解决,一并发出解决方案

此时一定撰写好了权限规划文档


项目需要支持人员:运维经理、CTO、各部门领导,注意即使得到老大的支持,也不要强行推行,和其他部门领导沟通好,有利于项目的实施。即使项目不通过,你的能力也得到了锻炼,老大也会对你的积极性和态度另眼相看。


1.1  人员名单、职位、负责业务及权限

人员名单职位负责业务及权限
Donglqyunweijingli运维经理
chujikaifaCK_CMD_1机房Linux运行、维护、权限管理

gaojikaifa

GK_CMD_1

SQL运行、维护、开发

wangluoGW_CMD_1网络工程师


1.2  按照需要执行的linux命令程序及公司业务服务来规划权限和人员对应配置(此处就是配置/etc/sudoers配置文件)

1.3  权限方案一旦实施后,所有员工都要通过《员工Linux服务器管理权限规定申请表》权限申请及提权都要走审批流程,规范化管理。把握住权限申请流程很重要,否则大家不听话项目也会泡汤。

1.4  书写操作说明,对各部门人员进行操作讲解。sudo执行命令设计到PATH环境变量问题,运维要提前处理好。


1.管理级别对应权限

级别权限备注
初级运维/usr/bin/free, /usr/bin/iostat, /usr/bin/top,/bin/hostname, /sbin/ifconfig, /bin/netstat, /sbin/route
高级运维 /usr/bin/free, /usr/bin/iostat, /usr/bin/top,/bin/hostname, /sbin/ifconfig, /bin/netstat, /sbin/route, /sbin/iptables,/etc/init.d/network, /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall,/bin/rpm, /usr/bin/up2date, /usr/bin/yum, /sbin/fdisk, /sbin/sfdisk,/sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
高级网络工程师

/sbin/route, /sbin/ifconfig, /bin/ping,/sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm,/sur/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool, /bin/cat/var/log/*


运维经理NOPASSWD:ALL

2.Alias别名对应级别


级别别名
初级运维 CY_CMD_1 
高级运维 GY_CMD_1 
高级网络工程师 GW_CMD_1
运维经理 Donglq


3.Alias对应级别权限

详细配置

for 循环创建用户


for user in Donglq chujikaifa gaojikaifa wangluo

do

  useradd $user

  echo "111111"|passwd --stdin $user

done


visudo


Cmnd_Alias CY_CMD_1 = /usr/bin/free,/usr/bin/iostat, /usr/bin/top, /bin/hostname, /sbin/ifconfig, /bin/netstat,/sbin/route

Cmnd_Alias GY_CMD_1 = /usr/bin/free, /usr/bin/iostat,/usr/bin/top, /bin/hostname, /sbin/ifconfig, /bin/netstat, /sbin/route,/sbin/iptables, /etc/init.d/network, /bin/nice, /bin/kill, /usr/bin/kill,/usr/bin/killall, /bin/rpm, /usr/bin/up2date, /usr/bin/yum, /sbin/fdisk, /sbin/sfdisk,/sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount

Cmnd_Alias GW_CMD_1 = /sbin/route,/sbin/ifconfig, /bin/ping, /sbin/dhclient, \

/usr/bin/net, /sbin/iptables, /usr/bin/rfcomm,/sur/bin/wvdial, \

/sbin/iwconfig, /sbin/mii-tool, /bin/cat/var/log/*

##User_Alias by oldboy##2012

User_Alias CHUJIADMINS =chujikaifa

User_Alias GWNETADMINS = wangluo

User_Alias GAOJIKAIFA =gaojikaifa

 

##Runas_Alias by oldboy##2012

Runas_Alias OP = root

 

#pri config

******      ALL=(OP)  GY_CMD_1

CTO001     ALL=(ALL)  NOPASSWD:ALL

Donglq ALL=(ALL) ALL, /usr/bin/passwd[A-Za-z]*, !/usr/bin/passwd root, !/usr/sbin/visudo, !/usr/bin/vi *sudoer*

CHUJIADMINS ALL=(OP)  CY_CMD_1

GWNETADMINS ALL=(OP)  GW_CMD_1

CHUJI_KAIFA  ALL=(OP) CK_CMD_1



sudo -l 查看当前用户的权限

Matching Defaults entries for net001 on this host:

    requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY

    HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME

    LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT

    LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",

    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",

    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin


User net001 may run the following commands on this host:

    (root) /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net,

    /sbin/iptables, /usr/bin/rfcomm, /sur/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool,

    /bin/cat /var/log/*