企业生产环境用户权限集中管理方案案例

建立中要添加如下的项目经验:

  1. 在了解公司业务流程后,提出权限整改解决方案,改进公司超级用户Root权限泛滥的问题。
  2. 我首先写好方案后,给老大看,取得老大的支持后,召集大家开会讨论。
  3. 讨论确定可行后,由我负责推进实施
  4. 实施后结果,公司服务器权限管理更加清晰了。
  5. 制定账号权限申请流程以及权限申请表格

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的用户权限管理的更多相关文章

  1. Linux 服务器用户权限管理改造方案与实施项目

    Linux 服务器用户权限管理改造方案与实施项目 在了解公司业务流程后,提出权限整改方案改进公司超级权限root泛滥的现状. 我首先撰写方案后,给boss看,取得boss的支持后,召集大家开会讨论. ...

  2. Linux:用户权限管理

    用户与用户组的概念 超级用户 拥有对系统的最高管理权限,默认是 root 用户 普通用户 只能对自己目录下的文件进行访问和修改,具有登录系统的权限. 虚拟用户 也叫"伪"用户,这类 ...

  3. Linux系统用户权限管理

    Linux系统中三种基本权限 用户属主.用户属组及其它人权限 -rw-r--r-- 1 root root 762 11-11 20:34 a.out 文件类型 ls命令中的缩写 应用 一般文件 - ...

  4. Linux之用户权限管理

    chmod(更改目录或文件权限) 在linux中,文件的权限分为3中,拥有者,群组,其他人.而chmod则是对权限更改的命令. u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个组,o 表示其 ...

  5. Linux常用命令之用户权限管理chmod、chown、chgrp、umask命令讲解

    这节课我们重点来学习权限管理命令,说到权限大家可能第一时间能想到的就是读.写.执行 rwx 三种权限,在正式讲解权限命令之前,先简单的介绍一下rwx权限对于文件和目录的不同含义. 权限字符 权限 对文 ...

  6. linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

  7. Linux下安装SVN,仓库创建,用户权限管理

    Exported from Notepad++           Linux下安装SVN,仓库创建,用户权限管理 1.SVN安装 Ubuntu系统下安装:sudoapt-getinstallsubv ...

  8. Jenkins拾遗--第三篇(用户权限管理)

    采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方.很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了. 其实Jenkins是一个很 ...

  9. Linux用户组和权限管理

    Linux用户组和权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.Linux的安全模型 1>.安全3A 这并不是Linux特有的概念,在很多领域都有3A的概念 ...

随机推荐

  1. JQuery效果-淡入淡出、滑动、动画

    一.JQuery Fading方法 JQuery 有四种fade方法 1.fadeIn() 淡入                       对应也有$(selector).fadeIn(speed, ...

  2. ClassNotFoundException超限

    错误日志图 被这弱智的错误吭了半个小时,项目本来好好的,然后因为改版加了很多东西,所以就超限了,一开始总是报下面那图的错,搞的我总以为是retrofit的错,但是好好的框架而且没改过,怎么可能会出错呢 ...

  3. Jsp的九个内置对象

    一.什么是内置对象?在jsp开发中,会频繁使用到一些对象.例如HttSession,ServletContext,HttpServletRequest.如果我们每次要使用这些对象都去创建这些对象,就会 ...

  4. MySQL高可用方案

    高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用.虽然互联网服务号称7*24小时不间断服务,但多多少少有一些时候服务不可用,比如某些时候网页打不开,百度不能搜索或者无法 ...

  5. kvm/qemu/libvirt学习笔记 (1) qemu/kvm/libvirt介绍及虚拟化环境的安装

    kvm简介 kvm最初由Quramnet公司开发,2008年被RedHat公司收购.kvm全称基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux的一个内核模块 ...

  6. [python]获取网页中内容为汉字的字符串的判断

    实际上是这样,将获取到网页中表单内容与汉字字符串作比较,即: a = request.POST['a'] if a == '博客园': print 'ok' else: print 'false' a ...

  7. Unity 重要基础知识点

    这是两个月前的学习记录,发出来了下,如果有误欢迎大家指出: 脚本生命周期 //每当脚本被加载时调用一次 // 1.   在Awake中做一些初始化操作 void Awake(){ //初始化publi ...

  8. SVN提交代码的规范

       协同开发中SVN的使用规范 先更新,再提交 SVN更新的原则是要随时更新,随时提交.当完成了一个小功能,能够通过编译并且自己测试之后,谨慎地提交. 如果在修改的期间别人也更改了svn的对应文件, ...

  9. PYOJ 44. 【HNSDFZ2016 #6】可持久化线段树

    #44. [HNSDFZ2016 #6]可持久化线段树 统计 描述 提交 自定义测试 题目描述 现有一序列 AA.您需要写一棵可持久化线段树,以实现如下操作: A v p x:对于版本v的序列,给 A ...

  10. ActiveMQ笔记(4):搭建Broker集群(cluster)

    上一篇介绍了基于Networks of Borkers的2节点HA方案,这一篇继续来折腾Networks of Brokers,当应用规模日渐增长时,2节点的broker可能仍然抗不住访问压力,这时候 ...