企业sudo权限规划详解 (实测一个堆命令搞定)
简述问题:
权限规划
运维部:
| 级别 | 权限 |
| 初级运维: | 查看系统信息,查看网络状态: /usr/bin/free,/usr/bin/iostat,/usr/bin/top,/bin/hostname,/sbin/ifconfig,/bin/netstat,/sbin/route |
| 高级运维 | 查看系统信息,查看和修改网格配置,进程管理,软件包管理,存储管理 /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 |
| 运维经理 | 超级用户所有权限 ALL |
开发部:
| 级别 | 权限 |
| 初级开发 | root的查看权限,对应服务查看日志的权限 /usr/bin/tail/app/log*,/bin/grep/app/log*,/bin/cat,/bin/ls |
| 高级开发 | root的查看权限,对应服务查看日志的权限,重启对应服务的权限 /sbin/service,/sbin/chkconfig,tail /app/log*,grep /app/log*,/bin/cat,/bin/ls, /bin/sh ~/scripts/deploy.sh |
| 开发经理 | 项目所在服务器的ALL权限,不能修改root密码 ALL,!/usr/bin/passwd root,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root |
架构组:
| 级别 | 权限 |
| 架构工程师 | 普通用户的权限 不加入sudo列表 |
DBA组:
| 级别 | 权限 |
| 初级DBA | 普通用户的权限 不加入sudo列 |
| 高级DBA | 项目所在数据库服务器的ALL权限 ALL, /usr/bin/passwd [A-Za-z]* !/usr/bin/passwd root, !/usr/sbin/visudo, |
网络组
| 级别 | 权限 |
| 初级网络 | 普通用户权限 不加入sudo列靓 |
| 高级网络 | 项目所在数据库服务器的ALL权限 /sbin/route,/sbin/ifconfig,/bin/ping,/sbin/dhclient,/usr/bin/net, /sbin/iptables,/usr/bin/rfcomm,/usr/bin/wvdial,/sbin/iwconfig, |
公司现在有的运维人员:
|
开始创建用户:
useradd yun1 && echo "123456" | password --stdin yun1 ##基础创建方法
使用for循环来创建用户和密码3(参考)
for n in `seq 21 25`;do useradd user$n;echo "user$n`echo user$n|md5sum|cut -c4-8`"|passwd --stdin user$n;done ##批量创建用户方式
运维组:5个初级运维,2个高级运维,1个运维经理 开发组:3个初级开发人员,1个高级开发,1个开发经理 |
| 参考:
批量创建用户,创建随机密码 批量创建用户,创建指定密码 批量删除用户: |
| 开始创建相关用户: 运维组:5个初级运维,2个高级运维,1个运维经理 开发组:3个初级开发人员,1个高级开发,1个开发经理 for n in `seq 1 5`;do useradd chuji$n;echo "123456" | passwd --stdin chuji$n;done 架构组:2个架构工程师(架构组不加入sudo) DBA组:3个初级DBA(初级DBA不加入sudo),1个高级DBA 网络组:2个初级网管(初级DBA不加入sudo),1个高级网管 下列命令直接复制粘贴即可完成创建 for n in `seq 1 5`;do useradd chujiyunwei$n;echo "123456" | passwd --stdin chujiyunwei$n;done for n in `seq 1 3`;do useradd chujikaifa$n;echo "123456" | passwd --stdin chujikaifa$n;done for n in `seq 1 2`;do useradd jiagou$n;echo "123456" | passwd --stdin jiagou$n;done 总计用户: kaifajinlgi ##(创建开发经理 useradd kaifajingli && echo 123456 | passwd --stdin kaifajingli) jiagoushi1 jiagoushi2 ##(创建架构师 for n in `seq 1 2`;do useradd jiagoushi$n;echo "123456" | passwd --stdin jiagoushi$n;done) dba1 gaojidba #创建高级DBA useradd DBA && echo 123456 | passwd --stdin DBA wangguan1 gaojiwanguan #创建高级网管 useradd gaojiwangguan && echo 123456 | passwd --stdin wangjiwangguan |
| 高级运维: %gaojiyunwei 初级运维: %yunwei 开发: %kaifa 网络组: %net #配置命令: ----------------------- 创建组: (groupadd) 加入组:(usermod -g 组 用户) |
| User_Alias NET = %net User_Alias KAIFA = %kaifa User_Alias YUNWEI = %yunwei User_Alias GAOJIYUNWEI = %gaojiyunwei |
| #网络工程师命令别名组 Cmnd_Alias NET_CMD = /bin/vi, /bin/ping, /bin/traceroute, /sbin/route, /bin/netstat, /bin/ps #开发命令别名组 #运维命令别名组 #高级运维命令别名组 |
| #能获取到的权限 Runas_Alias NET = root Runas_Alias KAIFA = root Runas_Alias YUNWEI = root Runas_Alias GAOJIYUNWEI = root |
| #对应关系 #权限分组 User_Alias NET = %net User_Alias KAIFA = %kaifa User_Alias YUNWEI = %yunwei User_Alias GAOJIYUNWEI = %gaojiyunwei #网络工程师命令别名组 #开发命令别名组 #运维命令别名组 #高级运维命令别名组 #能获取到的权限 #Runas_Alias OP = root #对应关系 |
| useradd net1 && echo '123456' | passwd --stdin net1 useradd yunwei1 && echo '123456' | passwd --stdin yunwei1 useradd gaojiyunwei1 && echo '123456' | passwd --stdin gaojiyunwei1 useradd kaifa1 && echo '123456' | passwd --stdin kaifa1 groupadd net groupadd kaifa groupadd yunwei groupadd gaojiyunwei usermod -g yunwei yunwei1 usermod -g gaojiyunwei gaojiyunwei1 usermod -g net net1 usermod -g kaifa kaifa1 cat >>/etc/sudoers <<eof User_Alias NET = %net User_Alias KAIFA = %kaifa User_Alias YUNWEI = %yunwei User_Alias GAOJIYUNWEI = %gaojiyunwei ##network-- Cmnd_Alias NET_CMD = /bin/vi, /bin/ping, /bin/traceroute, /sbin/route, /bin/netstat, /bin/ps ##kaifamingling-- Cmnd_Alias KAIFA_CMD = /bin/grep, /usr/bin/vim, /bin/vi, /usr/bin/tail, /usr/bin/wc, /bin/ps ##yunweimingling-- Cmnd_Alias YUNWEI_CMD = /bin/chmod, /usr/bin/chattr, /usr/sbin/useradd, /usr/sbin/groupadd, /bin/touch, /bin/mkdir, /usr/bin/passwd[A-Za-z], !/usr/bin/passwd root ##gaojiyunweimingling-- Cmnd_Alias GAOJIYUNWEI_CMD = /bin/chmod, /usr/bin/chattr, /usr/sbin/useradd, /usr/sbin/groupadd, /bin/touch, /bin/mkdir, /usr/bin/passwd[A-Za-z], /usr/sbin/usermod, /usr/sbin/userdel ##quanxian-- ##Runas_Alias OP = root |
企业sudo权限规划详解 (实测一个堆命令搞定)的更多相关文章
- (4)top详解 (每周一个linux命令系列)
(4)top详解 (每周一个linux命令系列) linux命令 top详解 引言:今天的命令是用来看cpu信息的top top 我们先看man top top - display Linux pro ...
- (5)ps详解 (每周一个linux命令系列)
(5)ps详解 (每周一个linux命令系列) linux命令 ps详解 引言:今天的命令是用来看进程状态的ps命令 ps 我们先看man ps ps - report a snapshot of t ...
- (3)lscpu详解 (每周一个linux命令系列)
(3)lscpu详解 (每周一个linux命令系列) linux命令 lscpu详解 引言:今天的命令是用来看cpu信息的lscpu lscpu 我们先看man lscpu display infor ...
- (2)free详解 (每周一个linux命令系列)
(2)free详解 (每周一个linux命令系列) linux命令 free详解 引言:今天的命令是用来看内存的free free 换一个套路,我们先看man free中对free的描述: Displ ...
- Spring Data Redis 详解及实战一文搞定
SDR - Spring Data Redis的简称. Spring Data Redis提供了从Spring应用程序轻松配置和访问Redis的功能.它提供了与商店互动的低级别和高级别抽象,使用户免受 ...
- Oracle权限管理详解
Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...
- SVN 权限配置详解
SVN权限详细配置 本章将详细介绍SVN权限配置涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义.除此之外的其他配置.安装等内 ...
- (转) shiro权限框架详解06-shiro与web项目整合(上)
http://blog.csdn.net/facekbook/article/details/54947730 shiro和web项目整合,实现类似真实项目的应用 本文中使用的项目架构是springM ...
- 若依管理系统RuoYi-Vue(二):权限系统设计详解
若依Vue系统中的权限管理部分的功能都集中在了系统管理菜单模块中,如下图所示.其中权限部分主要涉及到了用户管理.角色管理.菜单管理.部门管理这四个部分. 一.若依Vue系统中的权限分类 根据观察,若依 ...
随机推荐
- es6变量的解构赋值学习笔记
1. 解构赋值的规则是,只要等号右边的值不是对象,就先将其转为对象.由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错. let { prop: x } = undefin ...
- electron 安装失败解决办法
1.安装node https://nodejs.org/en/download/2.安装镜像工具npm install -g cnpm --registry=https://registry.npm. ...
- 编译cef 2526
fetch --nohooks chromium cd /path/to/chromium/src# git checkout -b 51.0.2704.103 refs/tags/51.0.2704 ...
- pt-query-digest工具的功能介绍了:
Ok,可以查看 pt-query-digest工具的功能介绍了: [root@472322 percona-toolkit-2.2.5]# pt-query-digest --help pt-quer ...
- Excel开发学习笔记:发布VSTO下的Excel开发项目
遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. 开发环境基于VST ...
- hibernate 单元测试
单元测试 测试 dao service action package com.kaishengit.test; import org.hibernate.Session; import com.ka ...
- Android webRTC 代码下载编译
1.安装depot tools git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 然后把把depot ...
- struts2学习笔记(5)拦截器
继承AbstractInterceptor类,在类中完成拦截器的功能,只需实现intercept方法即可,提供了init()和destroy()的空实现 示例:显示执行action所用的时间 ①在sr ...
- hibernateTemplate方法使用
- python笔记--3--函数、生成器、装饰器、函数嵌套定义、函数柯里化
函数 函数定义语法: def 函数名([参数列表]): '''注释''' 函数体 函数形参不需要声明其类型,也不需要指定函数返回值类型 即使该函数不需要接收任何参数,也必须保留一对空的圆括号 括号后面 ...