Linux sudo权限管理项目实战

  • 企业生产环境用户权限集中管理项目方案
    1. 问题现状
      当前我们公司里服务器上百台,各个服务器上的管理人员很多(开发+运维+架构DBA+产品+市场),在大家登录使用Linux服务器时,不同职能的员工水平不同,因此导致操作系统很不规范,root权限泛滥(几乎大部分人员都有root权限),经常导致文件等莫名其妙的丢失,老手和新手员工对服务器的熟知度也不同,这样使得公司服务器安全存在很大不稳定性、及操作安全隐患,据调查企业服务器环境,50%以上的安全问题都来自于内部,而不是外部。为了解决以上问题,单个用户管理权限过大现状,现提出针对Linux服务器用户权限集中管理的解决方案。
    2. 项目需求
      我们既希望超级用户root密码掌握在少数或唯一的管理员手中,又希望多个系统管理员或相关有权限的人员,能够完成更多更复杂的自身职能相关的工作,又不至于越权操作导致系统安全隐患。
      最小化:1)安装软件最小化。2)目录文件权限最小化。3)用户权限最小化。4)程序运行权限最小化。
      那么,如何解决多个系统管理员都能管理系统而不又不让超级权限泛滥的需求呢?这就需要sudo管理来替代或结婚su命令来完成这样的苛刻且必要的企业服务器用户管理需求。
      3.具体实现
      针对公司里不同部门,根据员工的具体工作职能(例如:开发,运维,数据库管理员),分等级分层次的实现对Linux服务器管理的权限最小化、规范化。这样既减少了运维管理成本,消除了安全隐患,又提高了工作效率,实现了高质量的、快速化的完成项目进度,以及日常系统维护。
      4.实施方案
      4.1信息采集
      召集 相关各部门领导通过会议讨论或是与各组领导沟通确定权限管理方案的可行性。需要支持的人员:运维经理或总监、CTO支持、各部门组的领导。
      4.2确定方案可行性后,会议负责人汇总、提交、审核所有相关员工对Linux服务器的权限需求。
      5.按照需要执行的Linux命令程序及公司业务服务来规划权限和人员对应配置。
      ####权限管理实战项目######
      1、建立用户
      for user in chuji001 chuji002 chuji003 net001 senior001 manager001
      do
      useradd $user
      echo "111111"|passwd --stdin $user
      done
      2、建立5个开发人员,属于phpers组
      groupadd -g 999 phpers
      for n in seq 5
      do
      useradd -g phpers php00$n
      done
      for user in kaifamanager001 seniorphpers
      do
      useradd $user
      echo "111111"|passwd --stdin $user
      done
      3、使用visudo编辑vi /etc/sudoers 新增配置如下

    Defaults logfile=/var/log/sudo.log
    ##Cmnd_Alias by Tim##2018/01/16
    Cmnd_Alias CY_CMD_1 = /usr/bin/free, /usr/bin/iostat, /usr/bin/top, /usr/bin/iostat, /bin/ifconfig, /bin/netstat, \
    /bin/hostname, /bin/route
    Cmnd_Alias GY_CMD_1 = /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
    Cmnd_Alias CK_CMD_1 = /usr/bin/tail /app/log, /bin/grep /app/log, /bin/cat, /bin/is
    Cmnd_Alias GK_CMD_1 = /sbin/service, /sbin/chkconfig, /bin/tail /app/log, /bin/grep /app/log, /bin/cat, /bin/ls, \
    /bin/sh ~/scripts/deploy.sh
    Cmnd_Alias GW_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/
    ###################################################################################
    ##User_Alias by Tim##2018/01/16
    User_Alias CHUJIADMINS = chuji001,chuji002,chuji003
    User_Alias GWNETADMINS = net001
    User_Alias CHUJI_KAIFA = %phpers
    ##Runas_Alias by Tim##2018/01/16
    Runas_Alias OP = root
    #pri config
    senior001 ALL=(OP) GY_CMD_1
    manager001 ALL=(ALL) NOPASSWD:ALL
    kaifamanager001 ALL=(ALL) ALL,(ALL) /usr/bin/passwd [A-Za-z]
    ,(ALL) !/usr/bin/passwd root, \
    (ALL) !/usr/sbin/visudo, (ALL) !/usr/bin/vim, (ALL) !/usr/bin/vi sudoer, (ALL) !/usr/bin/sudo su -, (ALL) !/bin/su
    seniorphpers ALL=(OP) GK_CMD_1
    CHUJIADMINS ALL=(OP) CY_CMD_1
    GWNETADMINS ALL=(OP) GW_CMD_1
    CHUJI_KAIFA ALL=(OP) CK_CMD_1

  • 原文地址:http://blog.51cto.com/11956937/2061492

    时间: 2024-11-08 15:19:51

    Linux sudo权限管理项目实战的相关文章

    关于linux系统sudo权限管理的相关问题

    本人初学linux运维,在观看oldboy视频教程后,对学习到的知识进行总结,知识内容均出自oldboy视频教程. ######################################################################################### linux系统中,只有root用户才能添加和删除用户,而在工作中,假如有很多个运维工程师作为普通用户,我们希望一部分的普通用户可以实现只有在root用户下才能实现的操作,但不是能干所有root用能干的事儿

    【CentOS】Linux sudo权限集中管理案例

    目的 使得公司的Linux系统权限管理更规范,让每个用户拥有自己所该有的权限,防止因为某些用户的权限过大后的一些误操作,导致服务器的不正常运行. 操作 1.编辑Linux系统中的sudoers文件 [[email protected] ~]# vim /etc/sudoers #Edit by root User_Alias NETMAN = net01, net02 #用户别名 User_Alias ADMIN = admin01, admin02 User_Alias SA = %sa #定

    linux的权限管理

    linux的权限管理命令主要有chown,chgrp,chmod. linux权限 linux的权限有:r,w,x. 对于文件而言:r表示可读,即可以用cat等命令查看:w表示可写,可以编辑或者删除此文件:x,表示可执行,可以再命令提示符下提交给内核执行(linux创建文件默认是不具有执行权限的). 对于目录而言:r表示可对此目录执行ls列出 内部的所有文件:w表示可以在此目录创建文件:x,表示可以cd到此目录,并且使用ls -l列出详细信息(linux目录一般都有x). linux的特殊权限有

    linux学习随笔——linux文件权限管理和网络配置

    一.linux文件权限管理 查看某个文件的权限命令:ls -l linux文件权限有4种:读(r).写(w).执行(x)和无权限(-) 一般用10个字符表示其权限,按照(1-3-3-3)来分组划分 1位置 表示文件类型 "-"表示文件,"d"表示目录 2-4位 表示用户权限(u) 5-7位 表示组权限(g) 8-10  表示其他权限(o) 通常用chmod来修改权限:chmod     u+r 目标文件 也可以用数字来表示权限 r=4 w=2 x=1 chown命令

    Linux目录权限管理

    权限介绍 在linux文件系统中,为系统中的文件(或目录)赋予了两个属性:访问权限和文件所有者,简称为"权限"和"归属".其中,访问权限包括读取.写入.可执行三种基本类型,归属包括属主(拥有改文件的用户账户).属组(拥有改文件的组账号). 使用带"-l"选项的ls命令时,将以长格式显示出文件或目录的详细信息,其中包括了该文件的权限和归属等参数. 第一个字符:表示该文件的类型,可以是d(目录).b(块设备文件).c(字符设备文件). "-

    Linux文件权限管理

    一.设置文件所属的用户以及所属的组(chown,chgrp) chgrp用来更改文件的组拥有者,其一般格式为: chgrp [option] group file (1)把文件test的组拥有者改为zfs: chgrp zfs test (2)把test及其子目录下的所有文件的组拥有者改为zfs: chgrp -R zfs test chown用来更改文件所有者与组拥有者,其一般格式为: chown [option] owner[:group] file (1)将test及其子目录下的所有文件的

    Linux [拓展权限管理]

    linux拥有3个特殊的拓展权限管理参数:   对文件影响 对目录影响 suid      以文件所有者的权限运行 Nothing sgid       以文件所属组的权限运行 目录中的文件继承目录的组 sticky Nothing 对于组有w权限的用户,只能在目录中创建或者修改自己拥有的文件(所属user为自己),但是不能修改或者删除其他用户的文件(虽然同组,并且组具有w权限) suid例子: /etc/password sgid, sticky例子: groupadd testgroup u

    Linux基本命令—权限管理、文件搜索、帮助、压缩解压、网络通信

    Linux基本命令-权限管理.文件搜索.帮助.压缩解压.网络通信 Linux 权限管理命令 文件搜索命令 帮助命令 压缩解压命令 网络通信指令 2017-11-12 权限管理命令 chmod 改变文件或目录权限: 格式:chmod [{ugo} {+-=} {rwx}] [文件或目录]:或 [mode=421] [文件或目录] -u:所有者: -g:所属组: -o:其他人 -rwx:可读可写可执行:对应权值 r-4.w-2.x-1,可按照数字改变权限:eg.rwxr-xr--表示754: eg.

    linux学习—权限管理

    用户.组和权限(一)--为了让每个用户具有较安全的管理机制,文件的权限管理是很重要的.Linux通常将文件的访问方式分为三个类别(owner/group/other),并且具有Read/Write/eXecute等的权限. 目录 用户 用户组 安全上下文 组的类别 passwd,shadow,group,gshadow文件 useradd,userdel,groupadd,groupdel命令 passwd,usermod,gpasswd,groupmod命令 groupmems,newgrp,