Linux用户权限集中管理方案

Posted okokabcd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux用户权限集中管理方案相关的知识,希望对你有一定的参考价值。

一、问题

服务器多,各个服务器上的管理人员多,ROOT权限泛滥,经常导致文件莫名其妙丢失,老手和新手对服务器的熟知程度不同,安全存在不稳定和操作安全隐患。

二、方案

利用sudo配置指定用户只能执行指定的命令

# 通过用户别名定义用户集
CHUJIADMINS 初始运维
GWNETADMINS 网络工程师
CHUJI_KAIFA 初级开发
# 通过命令别名定义权限集
CY_CMD_1    初级运维
GY_CMD_1    高级运维
CK_CMD_1    初级开发
GK_CMD_1    高级开发
GW_CMD_1    高级运维

2.1 创建用户

# 建立3个初级运维,一个高级运维,一个网络工程师,一个运维经理,密码统一是111111
for user in chuji001 chuji002 chuji003 senior001 net001 manager001
do
    useradd $user
    echo "111111"|passwd --stdin $user
done

# 建立5个开发人员,属于phpers组,一个高级开发,一个开发经理
groupadd -g 666 phpers
for n in `seq 5`
do
    useradd -g phpers php00$n
    echo "111111"|passwd --stdin php00$n
done
for user in seniorphpers kaifamanager001
do
    useradd $user
    echo "111111"|passwd --stdin $user
done

2.2 sudo配置

##User_Alias
User_Alias CHUJIADMINS = chuji001,chuji002,chuji003
User_Alias GWNETADMINS = net001
User_Alias CHUJI_KAIFA = %phpers          # phpers组

##Cmnd_Alias 
Cmnd_Alias CY_CMD_1 = /usr/bin/free,/usr/bin/iostat,/usr/bin/top,/bin/hostname,/sbin/ifconfig,/bin/netstat,/sbin/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/ls
Cmnd_Alias GK_CMD_1 =  /sbin/service,/sbin/chkconfig,/usr/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/rfcom,/usr/bin/wvdial,/sbin/iwconfig,/sbin/mii-tool,/bin/cat/var/log/*

##Runas_Alias
Runas_Alias OP = root          # 普通用户使用root用户角色操作

##pri config
senior001       ALL=(OP)    GY_CMD_1
manager001      ALL=(ALL)   NOPASSWD:ALL
kaifamanager001 ALL=(ALL)   ALL,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root,!/usr/sbin/visudo,!/usr/bin/vi *sudoer*
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

2.3 测试

技术分享图片

2.4 清空用户数据

for user in chuji001 chuji002 chuji003 senior001 net001 manager001
do
    userdel -r $user
done

for n in `seq 5`
do
    userdel -r php00$n
done
for user in seniorphpers kaifamanager001
do
    userdel -r $user
done

groupdel phpers

三、参考

企业项目案例1-用户权限集中管理方案-问题分析

以上是关于Linux用户权限集中管理方案的主要内容,如果未能解决你的问题,请参考以下文章

Linux企业生产环境用户权限集中管理项目方案案例

企业生产环境用户权限集中管理项目方案案例

企业生产环境用户权限集中管理项目方案案例

企业生产环境用户权限集中管理方案案例

(转)企业生产环境用户权限集中管理方案案例

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段