Linux课程笔记 Linux系统集权分治管理sudoer配置案例

1. 完成本案例,可以在增加以下项目经验:

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

  1. 提出权限整改解决方案改进公司超级权限root泛滥的现状
  2. 召集大家开会讨论确定方案后推进实施
  3. 实施后使得公司的权限管理更加清晰了

2. 问题现状

公司服务器管理人员多,(开发+运维+架构+DBA+产品+市场),使用Linux服务器时,不同职能的员工操作不规范,root权限泛滥

3.项目需求

既希望超级用户root密码掌握在少数或者唯一的管理员手中,又希望多个系统管理员有相关权限

4 实施方案

4.1 信息采集

4.1.1 召集相关各部门领导通过会议讨论或是与各组领导沟通确定权限方案的可行性

需要支持人员:运维经理、CTO支持、各组的领导。我们作为运维人员,拿着类似老师给大家讲解的这个文档,通过会议形式做演讲,慷慨激昂的演说,取得大佬们的支持

4.1.2 汇总、提交、审核所有相关员工对Linux服务器的权限需求

取得大佬们的支持后,通过发邮件或者联系相关人员取得需要的信息。比如说,让各个部门的经理整理归类本部门需要权限的人员名单、职位及对应的业务及权限

4.1.3 按照linux命令及服务规划权限

主要是运维人员根据上面手机的名单,对应账号配置权限

4.1.4 权限方案实施后,所有员工必须通过《员工Linux服务器管理权限申请表》来申请对应的权限,确定审批流程,规范化管理。

4.2 收集员工职能和对应权限

1)初级运维3名

权限分配:普通用户的权限,所管理的服务器的ALL权限,但是排除一些危害及切换root的权限


Cmnd_Alias  C_CMD_1 = !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root, !/sbin/fdisk, !/sbin/parted, !/bin/rm, !/bin/su, !/usr/sbin/visudo, !/usr/bin/vi * *sudo*, !/bin/vi*sudo*

2) 运维经理和高级运维:各一名

权限分配:普通用户的权限,所管辖的服务器的ALL权限

4)   网络工程师:1名

权限分配:普通用户的权限,查看网络配置,并排除故障的权限


Cmnd_Alias  N_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/*

5)  普通开发:10名

权限分配:普通用户的权限,对应服务的查看日志的权限,重启对应服务权限

大公司:项目负责制的规定


Cmnd_Alias   P_CMD_1 = /bin/cat  ~/log/*, /bin/cat /var/log/message, /bin/cat /app/log/*, /bin/sh /  ~/scripts/deploy.sh

4.3 创建用户角色

建立3个初级运维,一个网络工程师,一个运维经理,一个高级运维经理的用户,密码是111111


for  user  in  chuji001 chuji002 chuji003  net001 senior001 manager001

do

useradd  $user

echo  “111111” | passwd --stdin  $user

done

建立10个开发人员,属于phpers组


groupadd   -g  999  phpers

for  n   in  `seq  10`

do

useradd -g phpers  php00$n

done

4.4 sudoers配置内容

事先要备份/etc/sudoers文件,cp /etc/sudoers  /etc/sudoers.ori


##Cmnd_Alias  by  oldboy##2012

Cmnd_Alias  C_CMD_1 = !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root, !/sbin/fdisk, !/sbin/parted, !/bin/rm, !/bin/su, !/usr/sbin/visudo, !/usr/bin/vi * *sudo*, !/bin/vi*sudo*

Cmnd_Alias  N_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/*

Cmnd_Alias   P_CMD_1 = /bin/cat  ~/log/*, /bin/cat /var/log/message, /bin/cat /app/log/*, /bin/sh /  ~/scripts/deploy.sh

## User_Alias by oldboy###2012

User_Alias    ADMINS = senior001, manager01

User_Alias    CHUJIADMINS = chuji001, chuji002, chuji003

User_Alias    NETADMINS = net001

User_Alias    PROGRAMERS = %phpers

##Runas_Alias  by oldboy##2012/11/30

Runas_Alias   SUUSER = root

#pri config

ADMINS        ALL=(ALL)       NOPASSWD:ALL

CHUJIADMINS   ALL=(SUUSER)    NOPASSWD:ALL,C_CMD_1

NETADMINS     ALL=(SUUSER)   NOPASSWD:N_CMD_1


PROGRAMERS   ALL=(SUUSER)    NOPASSWD:P_CMD_1

时间: 2024-10-10 02:07:27

Linux课程笔记 Linux系统集权分治管理sudoer配置案例的相关文章

Linux课程笔记 Day04 课上内容总结

1. Crond介绍 1.0 定时任务比较及cron语法 Linux的任务调度可以分为两类: 系统自身执行的任务 用户执行的工作 Linux系统下另外两种定时任务软件: at:适合仅执行一次的调度任务,需要启动一个名为atd的服务 anacron:这个命令主要用于非7*24小时开机的服务器,anacron并不能指定具体时间执行任务,而是以天为周期或者在系统每次开机后需要执行的任务,它会检测停机期间应该进行,但是并没有进行的crontab任务工作,执行一遍. 这两种比较少用 指令语法: Cront

Linux学习笔记(6)-工作管理

什么是工作管理 工作来自job命令的翻译,job命令可以查看后台工作的进程.举例来说什么是工作管理,当你要打包一个比较大的目录时,很耗时间,但是你同时又需要使用别的命令.你会想我可以到开几个终端进行登录.在/etc/security/limits.conf里面可以设定使用者同时可以登入的连接数,如果设为1,那不是没辙了?由于耗时的打包命令并不需要与用户进行交互,可不可以让程序在后台打包呢?答案是可以的. 将进程放入后台运行 使用"&"符号让命令在后台工作 #tar -zcf e

Linux学习笔记之文件管理,用户管理

学而不用,总是忘记,今天又整理一下,记在这里,方便以后自己查看 常用操作命令 目录常用操作命令: pwd, cd, ls, mkdir, rmdir, tree. 文件常用操作命令: find,locate, whereis, which, touch, file, cp, rm,mv,ln,cat,tac,head,tail,more,less,grep,wc. 用户及用户组管理 Linux系统中用户分为3类:root用户,普通用户和虚拟用户.其中虚拟用户是不具备登录系统的能力,但却是系统运行

Linux分类笔记(一)-权限管理

Linux分类笔记(一) 权限管理 普通权限 文件的普通权限 对一个普通的文件使用ls -ll命令后,看到下面的输出内容   而对于文件权限中的每一位,又分别代表了以下的意思 文件类型又有以下几类: [d]:目录 [-]:文件 [l]:连接文件 [b]:可供存储的接口设备 [c]:串行端口设备,如键盘和鼠标 权限的定义: r:可读,普通文件的r代表可以读取该文件的实际内容:目录的r代表可以读取该目录结构列表的权限 w:可写,普通文件的w代表可以编辑,新增或者修改文件内容,但不能删除该文件:目录的

Linux学习笔记(5)-进程管理

进程简介 进程是正在执行的一个程序或命令,每一个进程都有自己的地址空间,并占有一定的系统资源.感性的认识,进程就是一个正在运行的程序 进程管理的作用 判断服务器的运行状态 查看系统中有哪些进程 杀死进程(很少用,一般会采用正常的关闭手段) 查看系统所有的进程 #ps aux #ps -le 输出信息各字段的含义 USER:进程是由哪个用户产生的 PID:进程的ID号 %CPU:进程占用CPU资源的百分比 %MEM:进程占用物理内存的百分比 VSZ:该进程占用虚拟内存的大小,单位KB RSS:该进

linux课程笔记--基础部分

Linux入门篇 Linux通常分区为 /--根分区,swap--交换分区,临时存储程序.文件.主分区+扩展分区. Linux文件系统类型则为ext2.ext3.ext4 在 Linux 中规定,每一个硬盘设备最多只能有 4个主分区. 修改网卡:vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes BOOTPROTO=static/dhcp IPADDR=192.168.1.166 NETMASK=255.255.255.0 GATEWA

Linux学习笔记:rpm程序包管理

以CentOS为例,rpm程序包管理器的相关内容如下: CentOS的程序包管理器:    程序包的命名规则:        源代码包:            software_name-VERSION.tar.gz            VERSION:major.minor.release                major:主版本号,通常代表重大功能改进的版本分支:                minor:次版本号,通常代表在某个版本的分支中的某个功能发生变化:          

linux课程笔记--第一天

安装oracleLinux环境 注:CPU处理器的分配,根据自己电脑处理器的多少,适当的分配给虚拟机,一般不少于音乐2颗.(比如4核,分出2个) 注:设置 → 网络 → 网卡1 启用网络连接,连接方式选择Host-Only,界面名称选择系统默认: 网络设置虚拟机网卡通过物理机网卡连接网络,选择桥接 同一物理机下的多个虚拟机之间网络连接,选择内部网络 虚拟机网卡和物理机网卡之间连接但不连接到网络,选择Host-Only完成配置后点OK即可. 注:选择skip 注:NEXT 选择:Chinese(S

Linux课程笔记 Day02 课程内容总结

一 配置优化Centos5.XLinux系统 1.添加一个普通用户账号 生产环境,一般要避免直接使用root账户操作. 一次性设置密码小技巧:echo “qbf1932” | passwd –stdin  qinbf && history –c 2.  CentOS安装完毕,首先应该修改更新源,并升级到最新系统 国内速度较快的的常用更新源如下: —http://mirrors.sohu.com/ —http://mirrors.163.com/ 法一:将已经编辑好的CentOS-Base.