简单的Linux的用户权限管理
企业生产环境用户权限集中管理方案案例
建立中要添加如下的项目经验:
- 在了解公司业务流程后,提出权限整改解决方案,改进公司超级用户Root权限泛滥的问题。
- 我首先写好方案后,给老大看,取得老大的支持后,召集大家开会讨论。
- 讨论确定可行后,由我负责推进实施
- 实施后结果,公司服务器权限管理更加清晰了。
- 制定账号权限申请流程以及权限申请表格
1问题现状
当前我们公司服务器上百台,各个服务器上需要管理的人很多(开发+运维+架构+DBA+产品+市场),在大家同时登录Linux服务器的时候,不同职能员工的水平不同,因此导致很不规范,root权限泛滥(几乎大部分人都拥有root权限),经常导致文件莫名奇妙的丢失,老手和新手对服务器的熟知程度不同,这样使得公司服务器安全存在很大的不稳定性,以及操作的安全性。据企业调查,50%的以上的安全问题都来自于内部。而不是外部。为了解决以上问题,单个用户管理权限过大的现状,现提出用户权限集中管理的方案。
2项目需求
我们既希望超级用户root密码掌握在少数或者唯一人的手中,又希望多个系统管理员或者相关权限的的人员,可以完成更多更复杂的与自身职能相关的工作。不至于越权操作导致系统安全隐患。
那么如何解决多个管理员都能解决系统而且又不让超级权限泛滥呢?这就需要sudo管理来代替或者结合su命令来完成这样苛刻且必要的服务器用户管理需求。
3具体实现
针对公司里面不同部门,根据员工的具体工作职能(例如:开发,运维数据库管理员等),分等级、层次的的实现对Linux服务器管理权限的最小化和规范化。这样既减少了运维管理的成本,消除了安全隐患,也提高了工作效率,实现了高质量、快速化的完成项目进度以及日常的系统维护。
4实施方案
说明:实施方案一般由积极主动发现问题的运维人员提出问题的,然后写好方案,再召集大家讨论可行性,最后确定方案,实施部署,最后后期维护总结。
思想:在提出问题之前,一定要想到如何解决,一并发出来解决方案
到此为止:你应该写完权限规划文档了。
4.1信息采集
4,1.1
召集相关部门的领导通过会议讨论或者组织领导沟通确定权限管理方案的可行性。需要支持的人员:运维经理或者总监,CTO的支持、各部门领导的支持。我们作为运维人员,拿着老师这样类型的方案,给大家讲解这个文档。通过会议的形式做演讲,慷慨激昂的演说,取得老大们的认可。才是项目可以实施的前提。当然,如果不实施,你也得到了锻炼,老大对你积极主动的思想网站架构问题也是另眼看待的。
4.1.2
确定方案的可行性以后,会议负责汇总,提交、审核所有相关人员对Linux服务器的权限需要问题。
取得老大们的支持以后,通过发邮件或者联系相关人员取得需要的相关员工权限。比如说:请各部门经理整理归类本部门需要登录的Linux的权限人员名单、职位、以及负责的业务及权限。如果说不清楚权限细节,就说负责的业务细节。这样运维人员就可以确定需要是什么权限了。
4.1.3
按照需求执行Linux命令程序以及公司业务服务来规划权限和人员对应配置。
主要是运维人员根据上面搜集的人员名单,需要的业务以及权角色,对应账号的配置权限,实际上就是sudo配置文件。
4.1.4
权限方案一旦实施以后,所有员工必须通过《员工Linux服务器管理权限申请表》来申请对应的权限,确定审批流程,规范化管理。这里实施后,把住权限申请流程很重要,否则大家不听话,方案实施也会泡汤的。
4.1.5
写操作说明,对各部门人员进行操作讲解,sudu执行命令,设计的PATH变量问题。运维提前处理好。
信息采集的结果如下:
某部门IDC权限细化方案:
目前IDC系统账号所有的权限都是超级权限,在安全方面存在着隐患,本着“给用户尽可能少的权限但仍允许他们完成任务”的宗旨,如今对常用命令进行分类细化:
权限对照表格:
|
PROCESSES |
/bin/kill, /usr/bin/kill, /usr/bin/killall, /usr/bin/pkill, /bin/netstat, /bin/ps |
|
FCMD_0 |
/sbin/reboot, /sbin/shutdown, /sbin/init 0, /sbin/init 6 |
|
FCMD_1 |
/bin/su - adsystem,/bin/su - audit,/bin/su - huapi, /bin/su - searchcenter, /bin/su - swebNg |
|
FCMD_2 |
/server/script/rhy/shangxian, /server/script/rhy/shangxian/haShangxian/shangxian, |
|
FCMD_3 |
/bin/cat,/bin/ls |
|
拥有权限 |
简要说明 |
|
|
普通开发权限 |
NOPASSWD:FCMD_1,FCMD_3,PROCESSES |
无需密码切换到分用户杀死进程重启服务,查看等权限 |
|
开发sudo权限 |
NOPASSWD:!/bin/sudo su - root,FCMD_0 |
除了可以切到root,苏可以执行除重启机器外的所有权限 |
|
运维上线权 |
NOPASSWD:FCMD_1,FCMD_2,FCMD_3,PROCESSCE |
无密码切换到分用户,切换到负载均衡,重启服务 |
|
运维超级权 |
NOPASSWD:ALL |
所有权限 |
|
分用户权限 |
NOPASSWD:PROCESSER, /run/apache/bin/apachectl -k start |
分用户杀死和启动进程 |
做了如下的测试结果:
创建了三个普通分用户t1,t2,t3, shell脚本如下:
#create three user t1 t2 and t3
for u in t1 t2 t3
do
useradd $u
echo "123"|passwd --stdin $u
done
创建了四个权限测试用户,为普通开发权限、开发sudo权限,运维上线权限,运维超级权限
#create develope users and operators as test
for name in ordinary_develop sudo_develop ordinary_operator root_operator
do
useradd $name;
echo "123"|passwd --stdin $name;
done
先在文本文件中编辑visodu的设置:
#set command by option
Cmnd_Alias PROCESSER = /usr/sbin/useradd,/usr/sbin/userdel
Cmnd_Alias FCMD_0 = /sbin/reboot, /sbin/shutdown, /sbin/init 0, /sbin/init 6
Cmnd_Alias FCMD_1 = /bin/su - t1, /bin/su - t2, /bin/su - t3
Cmnd_Alias FCMD_2 = /server/script/rhy/shangxian, /server/script/rhy/shangxian/haShangxian/shangxiain
Cmnd_Alias FCMD_3 = /bin/cat, /bin/ls
#show HOST
#Host_Alias SERVICE = smtp, smtp2, moban
#set users
User_Alias ORDINARY_DEVELOP = ordinary_develop
User_Alias SUDO_DEVELOP = sudo_develop
User_Alias ORDINARY_USERS = t1, t2, t3
User_Alias ORDINARY_OPERATOR = ordinary_operator
User_Alias ROOT_OPERATOR = root_operator
#Runas_Alias OP = root
#set authority
ORDINARY_DEVELOP SERVICE=(OP) NOPASSWD:FCMD_1,FCMD_3,PROCESSER
SUDO_DEVELOP SERVICE=(OP) NOPASSWD:!/bin/sudo su - root,!/bin/sudo su -,FCMD_0
ORDINARY_OPERATOR SERVICE=(OP) NOPASSWD:FCMD_1,FCMD_2,FCMD_3,PROCESSER
ROOT_OPERATOR SERVICE=(OP) NOPASSWD:ALL
ORDINARY_USERS SERVICE=(OP) NOPASSWD:PROCESSER, /run/apache/bin/apachectl -k start
再使用visodu进行编辑配置

登录sudo_develop测试权限:

测试结果很不错,很好的控制住了用户的权限。
简单的Linux的用户权限管理的更多相关文章
- Linux 服务器用户权限管理改造方案与实施项目
Linux 服务器用户权限管理改造方案与实施项目 在了解公司业务流程后,提出权限整改方案改进公司超级权限root泛滥的现状. 我首先撰写方案后,给boss看,取得boss的支持后,召集大家开会讨论. ...
- Linux:用户权限管理
用户与用户组的概念 超级用户 拥有对系统的最高管理权限,默认是 root 用户 普通用户 只能对自己目录下的文件进行访问和修改,具有登录系统的权限. 虚拟用户 也叫"伪"用户,这类 ...
- Linux系统用户权限管理
Linux系统中三种基本权限 用户属主.用户属组及其它人权限 -rw-r--r-- 1 root root 762 11-11 20:34 a.out 文件类型 ls命令中的缩写 应用 一般文件 - ...
- Linux之用户权限管理
chmod(更改目录或文件权限) 在linux中,文件的权限分为3中,拥有者,群组,其他人.而chmod则是对权限更改的命令. u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个组,o 表示其 ...
- Linux常用命令之用户权限管理chmod、chown、chgrp、umask命令讲解
这节课我们重点来学习权限管理命令,说到权限大家可能第一时间能想到的就是读.写.执行 rwx 三种权限,在正式讲解权限命令之前,先简单的介绍一下rwx权限对于文件和目录的不同含义. 权限字符 权限 对文 ...
- linux 用户管理,用户权限管理,用户组管理
linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...
- Linux下安装SVN,仓库创建,用户权限管理
Exported from Notepad++ Linux下安装SVN,仓库创建,用户权限管理 1.SVN安装 Ubuntu系统下安装:sudoapt-getinstallsubv ...
- Jenkins拾遗--第三篇(用户权限管理)
采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方.很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了. 其实Jenkins是一个很 ...
- Linux用户组和权限管理
Linux用户组和权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux的安全模型 1>.安全3A 这并不是Linux特有的概念,在很多领域都有3A的概念 ...
随机推荐
- 使用gulp解决RequireJS项目前端缓存问题(一)
1.前言 前端缓存一直是个令人头疼的问题,你有可能见过下面博客园首页的资源文件链接: 有没有发现文件名后面有一串不规则的东东,没错,这就是运用缓存机制,我们今天研究的就是这种东西. 先堵为快,猛戳链接 ...
- Linux下的SVN服务器搭建
Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...
- [Erlang 0127] Term sharing in Erlang/OTP 上篇
之前,在 [Erlang 0126] 我们读过的Erlang论文 提到过下面这篇论文: On Preserving Term Sharing in the Erlang Virtual Machine ...
- Spring ApplicationContext 简解
ApplicationContext是对BeanFactory的扩展,实现BeanFactory的所有功能,并添加了事件传播,国际化,资源文件处理等. configure locations:(C ...
- Ubuntu 14.04 LTS下安装Google Chrome浏览器
在Ubuntu 14.04下安装Google Chrome浏览器非常简单,只要到Chrome的网站下载Deb安装包并进行安装即可.当然你也可以使用APT软件包管理器来安装Google Chrome浏览 ...
- [转]ASP.NET Core 开发-Logging 使用NLog 写日志文件
本文转自:http://www.cnblogs.com/Leo_wl/p/5561812.html ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 . ...
- JSON学习笔记一 —— 一些与移动端交互产生JSON数据的方法
/** * 测试的返回JSon方法,正式的不会用 * @author MrHandler * @param reqCode * @param joinStr * ...
- hdu4059 The Boss on Mars(差分+容斥原理)
题意: 求小于n (1 ≤ n ≤ 10^8)的数中,与n互质的数的四次方和. 知识点: 差分: 一阶差分: 设 则 为一阶差分. 二阶差分: n阶差分: 且可推出 性质: 1. ...
- AtomicBoolean使用
使用 AtomicBoolean 高效并发处理 "只初始化一次" 的功能要求: 1 private static AtomicBoolean initialized = new A ...
- Lite Your Android English
https://litesuits.com/ 一些话 简约的背后,往往是复杂 还原面向对象应有的体验,让应对繁多业务所增加的,并未增加. 展开设计理念 Lite每个项目仅几十KB,这相当于你项目中 ...