linux系统是一个多任务,多用户的系统,对于系统权限集中管理尤为重要,如何实现系统权限的精细化管理,是我们运维人员需要考虑的问题。
liunx系统的用户权限管理我们传统的方法是给用户提权。
具体如何实现一个权限的分权分治的精细化管理,我们可以从以下几个步骤完成:
(1)收集以及制定用户和权限的匹配信息,原则是给予最小权限,但是又能完成所承担的工作职责。
(2)各个用户组设置对应权限,用什么给什么,精细到每一条指令对应相应的分组上。
(3)创建规划权限分组的用户,添加相关用户组。
(4)增加sudo的权限开放,确定相关用户加入soduers权限列表,并详细设置所开放权限内容,并选择是否需要密码的相关执行权限开放。
(5)不建议先给ALL权限,后面排除。建议使用白名单机制。
(6)实战调试测试相关权限是否正确配置完成。
(7)编写操作说明,及相关注意事项。
(8)调试完毕,邮件通知所有人员系统权限设置生效,并附带操作说明及相关注意事项。
实施案例:
第一步:收集并指定权限用户与权限的匹配信息
服务部署与配置账号权限:
/bin/rpm, /usr/bin/up2date, /usr/bin/yum,/sbin/service, /sbin/chkconfig, /usr/bin/systemctl start, /usr/bin/systemctl stop, /usr/bin/systemctl reload, /usr/bin/systemctl restart, /usr/bin/systemctl status, /usr/bin/systemctl enable, /usr/bin/systemctl disable
网络管理与测试账号权限:
/sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
第二步:给用户组分配对应的权限
定义服务部署与配置的用户组为SERVER;
定义网络管理与测试的用户组为NETMANAGE;
SERVER对应权限:/bin/rpm, /usr/bin/up2date, /usr/bin/yum,/sbin/service, /sbin/chkconfig, /usr/bin/systemctl start, /usr/bin/systemctl stop, /usr/bin/systemctl reload, /usr/bin/systemctl restart, /usr/bin/systemctl status, /usr/bin/systemctl enable, /usr/bin/systemctl disable
NETMANAGE对应权限:/sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
第三步:创建分组的用户和用户组
需要创建user01-user20个SERVER组用户;
需要创建net01-net20个NET用户组;
创建用户可使用shell脚本实现。
在sudoers配置文件中将用户添加到用户组。
第四步:给用户组设置开放权限
第五步:调试权限是否配置正确
第六步:编写配置说明书
第七步:通知使用者