Linux命令sudo实现集权(提权)管理,防止超级权限泛滥

sudo小结
1、别名要用大写
2、使用“\”换行
3、使用白名单策略,尽量不要赋予ALL权限(建议先关后开)
4、禁止的权限放在最后,允许的权限放在前面,sudoers配置文件的权限匹配时从后到前的
5、成员必须是存在的(用户必须存在)
6、“!”表示禁止权限
7、命令、组员、组等,用“,”分隔开(英文逗号)
8、组前面一定要带“%”

su命令缺点
1、普通用户需要知道root密码,并且切换到root用户下,才能使用root权限(超级权限)
2、普通可以修改root密码
3、超级权限泛滥,容易造成人为重大失误,导致系统崩溃或数据损失
4、建议:如果是中小型公司,不超过3个管理员时,为了管理方便,使用su来共同管理是可以接受的。(个体越多,人为出错概率越大)

sudo命令优点
1、普通用户不需要知道root密码
2、不需要切换到root用户,就可以使用超级权限
3、可控制用户拥有哪些超级权限(授权,提权)
4、对权限精细化管理,防止超级权限泛滥;比如:对权限进行分类,不同部门使用不同的超级权限;只需对应开放满足每个部门不同员工等级完成其工作的超级权限。

sudo命令原理

sudo的参数
-l:查看用户自己拥有的sudo权限

[[email protected] ~]# sudo –l
……
户 YWchuji01 可以在该主机上运行以下命令:
    (root) /usr/bin/free, /usr/bin/iostat, /usr/bin/top, /bin/hostname,
    /sbin/ifconfig, /bin/netstat, /sbin/route

-u:指定以某个用户身份(角色,在配置有多个角色的情况下使用)执行特定的命令操作

[[email protected] ~]$ sudo -u ricky free
对不起,用户 YWchuji01 无权以 ricky 的身份在 bogon 上执行 /usr/bin/free。 (因为sudoers配置文件中该用户只配置了一个角色root,并没有ricky,所以无权限)
[[email protected] ~]$ 

-k :删除时间戳,下一个sudo命令要求提供密码;前提是该用户授权中不能有"NOPASSWD:"参数。时间戳默认5分钟也会失效

[[email protected] ~]$ sudo -k
[[email protected] ~]$ 

visudo –c:检查/etc/sudoers配置文件语法(如果使用visudo编辑,那么会自动检查语法,如果使用vi/vim等其它编辑器编辑,需要使用visudo –c检查语法,否则可能会导致故障出现;sudoers配置文件失效,所有用户都无法使用sudo权限)

[[email protected] ~]# visudo -c
/etc/sudoers:解析正确
[[email protected] ~]#

sudo配置文件
如果是服务器集群共用一台服务器的sudoers配置文件,可以使用分发软件把sudoers配置文件分发出去实现。
授权:

oldboy ALL=(ALL) /usr/sbin/useradd
root    ALL=(ALL)       NOPASSWD: ALL

用户/组/User_Alias 机器/Host_Alias = (角色/Runas_Alias) 命令/Cmnd_Alias

用户/组/别名:对哪个用户或组或别名下的用户进行授权,组前一定要加“%”
机器(主机名):即在哪些主机上执行sudo权限,可以通过ALL来匹配所有主机,一般都是使用ALL;
角色:执行sudo命令权限的用户身份,即提权到某个用户,一般都是root执行;也可以定义其它用户或多个用户来执行;ALL是匹配所有用户。
命令:授权给用户的超级权限,必须是绝对路径;定义时也可以使用正则:/usr/bin/passwd [A-Za-z]*(可以修改用户密码,但只能是英文大小的用户)

例子:

[[email protected] ~]# visudo
User_Alias CJYW=%YWCHUJI,YWchuji01,YWchuji02

Runas_Alias OP=root

Cmnd_Alias    CJYW_CMD=/usr/bin/free,/usr/bin/iostat,/usr/bin/top,/bin/hostname,/sbin/ifconfig,!/bin/netstat,!/sbin/route

CJYW  ALL=(OP)  CJYW_CMD

原文地址:http://blog.51cto.com/13691477/2114654

时间: 2024-11-06 09:50:08

Linux命令sudo实现集权(提权)管理,防止超级权限泛滥的相关文章

2008提权之突破系统权限安装shift后门

大家都知道08权限的系统权限设置很严格,且在2003系统中常用到的溢出工具都失效.面对限制IP连接的情况 我们及时拿到system权限 有账号也上不去 这种情况下只能弄shift后门 或者放大镜了.但08权限 在system权限也操作不了系统文件夹. 先查通过whoami查看下登录帐号权限.通过下图我们看到是普通权限 我用的到时MS12042  这个大家都会用单独讲sysret.exe 拿出了我们找到w3wp.exe这个PID  然后执行以下命令. 我就就获得想要的权限了 我们看到了当前就已经获

Linux命令之账户和组的管理

Linux系统对账号和组的管理是通过ID号来实现的,用户ID称为UID,组ID称为GID.其中,UID为0,代表超级管理员,即root账号.组分为基本组和附加组,一个用户在同一时刻只能有一个基本组,但可以加入多个附加组.系统默认在创建用户时会同时创建同名的组,并且为基本组. 一 创建用户和组: 1 useradd:创建新账号 选项:-c    账号描述信息,一般为全称 -d    设置家目录,默认为/home/用户名 -e    设置账户的失效日期,格式为2017-10-30 -g    设置账

Linux 命令 sudo

sudo 这个命令. 是为了 让 普通用户 ,也能够以root的身份来运行 操作, 而这些普通用户 又不须要知道root的password. 在 sudo 运行命令的时候. 仅仅须要 输入自己的password ,让sudo知道 .你是这个普通本人,那么就能够以root运行操作了. 当然,这个须要配置一下 sudo ,将 这个普通用户 增加sudo 同意的范围. 用户能够通过sudo -v来查看自己是否是在sudoers 之中. 配置sudo 用 visudo 增加 fupeng ALL=(AL

Linux命令-sudo

sudo命令用于给普通用户提供额外权利来完成原本只有超级用户才有权限完成的任务, 格式:sudo [参数] 命令名称 sudo命令与su命令的区别是,su命令允许普通用户完全变更为超级管理员的身份,但 如此一来便增加了安全隐患,而使用sudo命令可以仅将特定的命令/程序执行权限赋予 指定的用户. sudo命令的特色: 1:限制用户执行指定的命令 2:记录用户执行的每一条命令 3:验证过密码后5分钟(默认值)内无需再让用户验证密码,更加方便. sudo程序的配置文件为/etc/sudoers,只有

通过sudo提权方式控制公司人员权限

#通过visudo编辑/etc/sudoers Runas_Alias OP = root #定义使用sudo的时候以哪个用户执行命令,一般都是使用root #命令别名 Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping,/sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /us r/bin/wvdial, /sbin/iwconfig, /sbin

linux命令:ps pstree top进程管理

  ps命令简介: 此个命令用于查看用户进程. 1.命令格式:  ps [option] : ps 参数 常用的使用格式:ps aux |grep 'keyword'  通过关键字查找相关的进程信息 [[email protected] ~]# ps aux 显示所有进程的信息 USER    PID %CPU  %MEM  VSZ RSS  TTY   STAT START   TIME COMMAND root     1  0.0  0.0  2900 1436  ?    Ss  21:

Linux命令:MySQL系列之十--MySQL用户和权限管理、mysql管理员密码重置

MySQL用户账号包括:用户名@主机名 用户名:16个字符以内 主机:主机有以下几种表现方式 主机名: mysql,www.magedu.com IP地址: 172.16.90.111 网络地址:172.16.0.0/255.255.0.0 通配符:%,_   %:任意字符  _:任意一个 172.16.%.%     %.magedu.com 权限级别:全局级别.库级别.表级别.列级别.存储过程和存储函数级别 全局级别:SELECT * FROM db\G; 查询全局库级别的权限 ******

Linux命令:MySQL系列之四--MySQL管理表和索引

SQL语句: 数据库 表 索引 视图 DML语句 单字段:    PRIMARY KEY 主键 UNIQUE KEY 唯一键 单或者多字段:    PRIMARY KEY(col,...) UNIQUE KEY(col,...) INDEX(col,...) 数据类型: data_type: BIT[(length)] 比特 | TINYINT[(length)] [UNSIGNED] [ZEROFILL] 非常小的整数(1字节) | SMALLINT[(length)] [UNSIGNED]

Linux下提权常用小命令

有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么难,你真去尝试做了,也许你就会发现Linux下的提权并不难,尤其是一些简单的提权方法是很容易学会的.Linux下的提权我知道的比较简单的方法都是在命令行下完成的,很多新手叉子可能根本没接触过Linux下的一些常用命令,今天危险漫步就给大家介绍一些Linux下提权过程中常用到的Linux命令,由于我也