study-8【项目经验】企业项目案例1-用户权限集中管理方案
2016-11-25 11:11
375 查看
一,待解决问题:公司内部拥有root权限的人超过50%,帐号混乱
二,项目需求:希望超级用户root密码掌握在少数或唯一的管理员手中,又希望多个系统管理员或相关有权限的人员,能够完成更多更复杂的自身职能相关的工作,又不至于越权操作导致系统安全隐患;
最小化原则:1)安装软件最小化;2)目录文件权限最小化;3)用户权限最小化;4)程序运行权限最小化。
那么如何解决多个系统管理员都能管理系统而又不让超级权限泛滥的需求呢?这就需要sudo管理来替代或结合su命令 来完成这样的苛刻且必要的企业服务器用户管理需求。
三,具体实现:针对公司里不同部门,根据员工的具体工作只能(例如:开发、运维,数据库管理员), 分等级、分层次的实现对linux服务器管理的权限最小化、规范化。这样即减少了运维管理成本,消除了安全隐患,又提高了工作效率,实现了高质量的、快速化的完成项目进度,以及日常系统维护。
四,实施方案:提出问题、讨论问题(已经想好了解决方案)、确定实施部署、后期总结维护(完成权限解决文档);
1)请各位部门经理整理归纳本部门需要登录linux权限的人员名单、职位、及负责的业务及权限,如果说不清楚权限细节,就说负责的业务细节,这样运维人员就可以确定需要啥的权限了;
2)按照需要执行的linux命令程序及公司业务服务来规划权限和人员对应的配置,实际上就是配置sudo配置文件(把人员和命令做一个对应)
五,实战
1)模拟创建用户角色
for user in chuji001 chuji002 chuji003 net001 senior001 manager001
do
useradd $user
echo "111111"|passwd --stdin $user
done
2)建立5个开发人员,属于phpers组
groupadd -g 999 phpers
for n in `seq 5`
do
useradd -g phpers php00$n
echo "111111"|passwd --stdin php00$n
done
3)建立2个高级人员
for user in kaifamanager001 seniorphpers
do
useradd $user
echo "111111"|passwd --stdin $user
done
4)sudoer配置内容
##Cmnd_Alias by oldboy##2012
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 CK_CMD_1 = /usr/bin/tail /app/log*, /bin/grep /app/log*, /bin/cat, /bin/ls
Cmnd_Alias GK_CMD_1 = /sbin/service, /sbin/chkconfig, /bin/tail /app/log*, /bin/grep /app/log*, /bin/cat, /bin/ls, /bin/sh ~/scripts/deploy.sh
Cmnd_Alias GW_CMD_1 = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool, /bin/cat /var/log/*
##User_Alias by oldboy##2012
User_Alias CHUJIADMINS = chuji001,chuji002,chuji003
User_Alias GWNETADMINS = net001
User_Alias CHUJI_KAIFA = %phpers
##Runas)Alias by old_boy##2012/11/30 要切换到哪个(root)身份上执行命令
Runas_Alias OP = root
#pri config
#用户 主机=角色
命令#
senior001 ALL=(OP) GY_CMD_1
manager001 ALL=(ALL) NOPASSWD:ALL
#命令设置为ALL会有漏洞隐患,最好明确指定允许和不允许的命令权限
kaifamanager001 ALL=(ALL) ALL, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root, !/usr/sbin/visudo, !/usr/bin/vim *sudoer*
seniorphpers ALL=(OP) GK_CMD_1
CHUJIADMINS ALL=(OP) CY_CMD_1
GWNETADMINS ALL=(OP) GW_CMD_1
CHUJI_KAIFA ALL=(OP) CK_CMD_1
注意:别名大写;命令路径用全路径;超过一行用\换行
验证:
1)su - chuji001
2)查看自己拥有的命令权限:sudo - l
User chuji001 may run the following commands on this host:
(root) /usr/bin/free, /usr/bin/iostat, /usr/bin/top, /bin/hostname,
/sbin/ifconfig, /bin/netstat, /sbin/route
3)修改主机名:sudo hostname xxx
二,项目需求:希望超级用户root密码掌握在少数或唯一的管理员手中,又希望多个系统管理员或相关有权限的人员,能够完成更多更复杂的自身职能相关的工作,又不至于越权操作导致系统安全隐患;
最小化原则:1)安装软件最小化;2)目录文件权限最小化;3)用户权限最小化;4)程序运行权限最小化。
那么如何解决多个系统管理员都能管理系统而又不让超级权限泛滥的需求呢?这就需要sudo管理来替代或结合su命令 来完成这样的苛刻且必要的企业服务器用户管理需求。
三,具体实现:针对公司里不同部门,根据员工的具体工作只能(例如:开发、运维,数据库管理员), 分等级、分层次的实现对linux服务器管理的权限最小化、规范化。这样即减少了运维管理成本,消除了安全隐患,又提高了工作效率,实现了高质量的、快速化的完成项目进度,以及日常系统维护。
四,实施方案:提出问题、讨论问题(已经想好了解决方案)、确定实施部署、后期总结维护(完成权限解决文档);
1)请各位部门经理整理归纳本部门需要登录linux权限的人员名单、职位、及负责的业务及权限,如果说不清楚权限细节,就说负责的业务细节,这样运维人员就可以确定需要啥的权限了;
2)按照需要执行的linux命令程序及公司业务服务来规划权限和人员对应的配置,实际上就是配置sudo配置文件(把人员和命令做一个对应)
人员名单 | 职位 | 负责的业务 | 对应服务器权限的命令 |
张三 | 初级运维 | /usr/bin/free等 | |
1)模拟创建用户角色
for user in chuji001 chuji002 chuji003 net001 senior001 manager001
do
useradd $user
echo "111111"|passwd --stdin $user
done
2)建立5个开发人员,属于phpers组
groupadd -g 999 phpers
for n in `seq 5`
do
useradd -g phpers php00$n
echo "111111"|passwd --stdin php00$n
done
3)建立2个高级人员
for user in kaifamanager001 seniorphpers
do
useradd $user
echo "111111"|passwd --stdin $user
done
4)sudoer配置内容
##Cmnd_Alias by oldboy##2012
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 CK_CMD_1 = /usr/bin/tail /app/log*, /bin/grep /app/log*, /bin/cat, /bin/ls
Cmnd_Alias GK_CMD_1 = /sbin/service, /sbin/chkconfig, /bin/tail /app/log*, /bin/grep /app/log*, /bin/cat, /bin/ls, /bin/sh ~/scripts/deploy.sh
Cmnd_Alias GW_CMD_1 = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool, /bin/cat /var/log/*
##User_Alias by oldboy##2012
User_Alias CHUJIADMINS = chuji001,chuji002,chuji003
User_Alias GWNETADMINS = net001
User_Alias CHUJI_KAIFA = %phpers
##Runas)Alias by old_boy##2012/11/30 要切换到哪个(root)身份上执行命令
Runas_Alias OP = root
#pri config
#用户 主机=角色
命令#
senior001 ALL=(OP) GY_CMD_1
manager001 ALL=(ALL) NOPASSWD:ALL
#命令设置为ALL会有漏洞隐患,最好明确指定允许和不允许的命令权限
kaifamanager001 ALL=(ALL) ALL, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root, !/usr/sbin/visudo, !/usr/bin/vim *sudoer*
seniorphpers ALL=(OP) GK_CMD_1
CHUJIADMINS ALL=(OP) CY_CMD_1
GWNETADMINS ALL=(OP) GW_CMD_1
CHUJI_KAIFA ALL=(OP) CK_CMD_1
注意:别名大写;命令路径用全路径;超过一行用\换行
验证:
1)su - chuji001
2)查看自己拥有的命令权限:sudo - l
User chuji001 may run the following commands on this host:
(root) /usr/bin/free, /usr/bin/iostat, /usr/bin/top, /bin/hostname,
/sbin/ifconfig, /bin/netstat, /sbin/route
3)修改主机名:sudo hostname xxx
相关文章推荐
- (8)企业生产环境用户权限集中管理项目方案案例
- 企业生产环境用户sudo权限集中管理项目方案案例
- 企业生产环境用户权限集中管理项目方案
- Lync 项目经验-29-批量-启用用户-启用企业语音-设置分机号(项目中)
- 企业生产环境用户sudo权限集中管理项目方案
- ESB 案例解析和项目实施经验分享,第 2 部分: 刚柔相济,构建企业联邦 ESB
- 企业生产环境用户权限集中管理方案案例
- ESB 案例解析和项目实施经验分享,第 2 部分: 刚柔相济,构建企业联邦 ESB
- 项目经验:oracle中一个用户赋予另外一个用户对表增删改查的权限以及同步更新触发器的创建
- [原创]制造企业 制造业 物流供应链优化方案 (项目案例)
- ESB 案例解析和项目实施经验分享
- 名师讲解 SVN项目和用户权限配置
- 真实工作经验总结——案例解析企业选型操作步骤
- 真实工作经验总结——案例解析企业选型操作步骤
- (一)项目说明及程序框架说明——.NET开发完整案例(企业邮箱系统)
- 写代码累了放松娱乐一下,在大型生产型企业成功实施工作审批流程项目的经验分享
- 通用权限管理系统组件 (GPM - General Permissions Manager) 在跨国直销企业电子商务项目中的成功应用
- 写代码累了放松娱乐一下,在大型生产型企业成功实施工作审批流程项目的经验分享
- 数据库中用户,角色,权限的理解【用案例讲解】
- 自动发送TFS团队项目用户权限检查信息