企业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系统中的权限分类 根据观察,若依 ...
随机推荐
- JSP Servlet中的Request和Response的简单研究
本文参考了几篇文章所得,参考目录如下: 1.http://www.cnblogs.com/guangshan/p/4198418.html 2.http://www.iteye.com/problem ...
- webrtc windows下的编译
mkdir webrtc-checkoutcd webrtc-checkout set DEPOT_TOOLS_WIN_TOOLCHAIN=0set GYP_GENERATORS=ninjaset G ...
- USB CDC & 可变形参
控制台的三种连接方式: 1.IP网络 2.USB 3.UART 一:介绍USB CDC方式: 1.控制台配置如下: 2.USB Product ID 可以是:0x0000/0x5300/0x0238 ...
- play 学习 四: 关于play跨域
默认, 在满足下面三个条件的情况下,Play框架会做一CSRF(跨站点请求伪造) 的检查: 请求方法不是GET, HEAD 或 OPTIONS. 情求包含Cookie或者Authorization头. ...
- MySQL 学习四 SQL优化
MySQL逻辑架构: 第一层:客户端层,连接处理,授权认证,安全等功能. 第二层:核心层,查询解析,分析,优化,缓存,内置函数(时间,数学,加密),存储过程,触发器,视图 第三层:存储引擎.负 ...
- 第 十五 课 Go 语言范围(Range)
Go 语言中 range 关键字用于 for 循环中迭代数组(array).切片(slice).通道(channel)或集合(map)的元素 package main import "fmt ...
- The Commercial Open-Source Monitoring Landscape
As enterprises have adopted open-source monitoring tools, there is growing market demand by enterpri ...
- jackson 进行json与java对象转换 之二
主要用于测试学习用jackson包实现json.对象.Map之间的转换. 1.准备测试用的Java类 (1)Link类 package test; /** * Description: 联系方式,被u ...
- javascipt——对象的概念——数组
一.Array 特点: 数组的长度是可变的: 数组的索引可以是数字.字符串: 数组的内容可以是任意内容: 可以通过索引获取之前不存在的一个位置,其值为undefined: 1.构造函数: new Ar ...
- 关于RandomizedSearchCV 和GridSearchCV(区别:参数个数的选择方式)
# -*- coding: utf-8 -*- """ Created on Tue Aug 09 22:38:37 2016 @author: Administrato ...