企业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系统中的权限分类 根据观察,若依 ...
随机推荐
- angular.run 妙用
**1.浏览器判断**在angular做微信应用的时候,有时候我们也想把相同一份代码运行在非微信的浏览器上,这时候我们可以在angular的run上写点东西实现~例如asw.run函数里执行定义一个$ ...
- Azure上每个VM多个IP地址
Azure的每个VM都有多种IP地址,包括DIP.VIP和PIP.具体如下: DIP地址是在VM里能够看到的IP地址,即私网地址:PIP地址是这个VM关联的公网IP地址,即公网地址:VIP地址是负载均 ...
- php system()
学习源头: https://blog.csdn.net/ltx06/article/details/53992905 system(“nohup ./test.py $s &”); 这个不会在 ...
- 上传文件csv 导入功能
HTML代码: <script> function uploadCsv() { $('#chooseCsvFile').click(); } function doUploadCsv() ...
- 2015.7.17 case when then else end用法Oralcle与SQLserver一致
SELECT CASE airway_point_type_id WHEN 1 THEN 'VOR' WHEN 2 THEN 'VOR/DME' WHEN 3 THEN 'NDB' WHEN 10 T ...
- 问题:Oracle出发器;结果:1、Oracle触发器详解,2、Oracle触发器示例
ORACLE触发器详解 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创 ...
- java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
执行Hive查询: Console是这样报错的 java.sql.SQLException: Error from org.apache.hadoop.hive.ql.exec.mr.MapRedTa ...
- java GC是在什么时候,对什么东西,做了什么事情?
1.新生代有一个Eden区和两个survivor区,首先将对象放入Eden区,如果空间不足就向其中的一个survivor区上放,如果仍然放不下就会引发一次发生在新生代的minor GC,将存活的对象放 ...
- dubbo-admin打包和zookper安装
1 首选安装Zookper,下载zookeeper-3.5.3-beta版本,在这里我主要演示这个:下载地址:http://mirrors.hust.edu.cn/apache/zookeeper/ ...
- ROS Learning-018 Arduino-For-ROS-003 (总结篇) 模板程序 即 如何运行
Arduino For ROS-003 - (总结篇) 模板程序 即 如何运行 我的Ubuntu系统:Ubuntu 14.04.10 TLS 32位 Arduino的版本:Arduino 1.6.11 ...