用户组和权限管理给普通用户提权

1.创建用户时默认的属性
vim /etc/login.defs
在这里插入图片描述
/var/spool/mail 创建用户自动生成的
CREAT_HOME yes 默认创建家目录
USERGROUPS_ENAB yes 没有用户组可删除
密码加密算法
在这里插入图片描述
在这里插入图片描述
6 6 6 开头的是SHA512算法
在这里插入图片描述

2.passwd
-l 锁定用户
-u 解锁用户
-d 清除密码串
-e 终止密码
-i 过期多少天登录需要密码
-n密码最短使用期限
-x 密码最长使用期限
-k 保留即将过期 在期满后仍能使用
-w 距多少天提醒用户修改密码
-s 查询密码状态
chage -M 修改密码过期时间
3.chage(更改用户密码过期信息)
-d :指定密码最后修改日期(创建时间)
-E禁用
-W密码过期前警告
-m 密码最小保持时间
-M 修改密码有效期最大时间
4.id
-u 查询UID
-g 查询GID
-G 显示附加组以及自己的GID
-n 以名字形式显示组的信息
5.提权
方式1: su
通过就改PAM中su的模块限制普通用户对su的执行:
vim /etc/pam.d/su
auth required pam_wheel.so use_uid
凡是在wheel组中的用户,才可以使用su命令
在这里插入图片描述
没有加入wheel的用户不可以使用su 命令

[root@localhost ~]# usermod -aG   wheel user1
[root@localhost ~]# su - user2
上一次登录:三 7月 29 17:52:17 CST 2020pts/0 上
[user2@localhost ~]$ su - root
密码:
su: 拒绝权限
[user2@localhost ~]$ 1
-bash: 1: 未找到命令
[user2@localhost ~]$ su - root
密码:
su: 拒绝权限

## sudo命令提权

我们知道,使用 su 命令可以让普通用户切换到 root 身份去执行某些特权命令,但存在一些问题,比如说:

仅仅为了一个特权操作就直接赋予普通用户控制系统的完整权限;
当多人使用同一台主机时,如果大家都要使用 su 命令切换到 root 身份,那势必就需要 root 的密码,这就导致很多人都知道 root 的密码;
考虑到使用 su 命令可能对系统安装造成的隐患,最常见的解决方法是使用 sudo 命令,此命令也可以让你切换至其他用户的身份去执行命令

相对于使用 su 命令还需要新切换用户的密码,sudo 命令的运行只需要知道自己的密码即可,甚至于,我们可以通过手动修改 sudo 的配置文件,使其无需任何密码即可运行。

sudo 命令默认只有 root 用户可以运行
。sudo命令的运行,需经历如下几步:

当用户运行 sudo 命令时,系统会先通过 /etc/sudoers 文件,验证该用户是否有运行 sudo 的权限;
确定用户具有使用 sudo 命令的权限后,还要让用户输入自己的密码进行确认。出于对系统安全性的考虑,如果用户在默认时间内(默认是 5 分钟)不使用 sudo 命令,此后使用时需要再次输入密码;
密码输入成功后,才会执行 sudo 命令后接的命令。
显然,能否使用 sudo 命令,取决于对 /etc/sudoers 文件的配置(默认情况下,此文件中只配置有 root 用户)
特性:

1、sudo能够限制用户只在某台主机上运行某些命令。
2、sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。
3、sudo使用时间戳文件–日志 来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一
张存活期为5分钟的票(这个值可以在编译的时候改变)。
4、sudo的配置文件是/etc/sudoers,属性必须为0440,它允许系统管理员集中的管理用户的使用权限和使用的
主机。
路由表route( route指令用于显示或者修改IP路由表。它的主要用途是在使用ifconfig(8)程序配置接口后,通过接口设置到特定主机或网络的静态路由。)
(一)/etc/sudoers 配置文件中别名规则

## 配置文件别名规则定义格式:

Alias_Type NAME = item1, item2, …
或 Alias_Type NAME = item1, item2, item3 : NAME = item4, item5

别名类型(Alias_Type):别名类型包括如下四种

Host_Alias 定义主机别名;
User_Alias 用户别名,别名成员可以是用户,用户组(前面要加%号)
Runas_Alias 用来定义runas别名,这个别名指定的是“目的用户”,即sudo 允许切换至的用户;(一般都是切换到root用户,所以此类型已经不怎么用)
Cmnd_Alias 定义命令别名;
NAME 就是别名,NMAE的命名是包含大写字母、下划线以及数字,但必须以一个大写字母开头,比如SYNADM、SYN_ADM或SYNAD0是合法的,sYNAMDA或1SYNAD是不合法的;

注意事项一个别名下有多个成员,成员与成员之间,通过半角,号分隔;成员在必须是有效并事实存在的。(可以通过w查看用户的主机名(或ip地址),如果您只是本地机操作,只通过hostname 命令就能查看;用户名当然是在系统中存在 的,在/etc/paswd中必须存在;)
对于定义命令别名,成员也必须在系统中事实存在的文件名(需要绝对路径);
成员受别名类型 Host_Alias、User_Alias、Runas_Alias、Cmnd_Alias 制约,定义什么类型的别名,就要有什么类型的成员相配

我们用Host_Alias定义主机别名时,成员必须是与主机相关联,
比如是主机名(包括远程登录的主机名)、ip地址(单个或整段)、掩码等; 当用户登录时,可以通过w命令来查看登录用户主机信息;用User_Alias和 Runas_Alias定义时,必须要用系统用户做为成员;

用 Cmnd_Alias 定义执行命令的别名时,必须是系统存在的文件,文件名可以用通配符表示,配置Cmnd_Alias时命令需要绝对路径;

其中 Runas_Alias 和User_Alias 有点相似,但与User_Alias 不是同一个概念,Runas_Alias 定义的是某个系统用户可以sudo 切换身份到Runas_Alias下的成员;

别名规则是每行算一个规则,如果一个别名规则一行容不下时,可以通过\来续**行;同一类型别名的定义,一次也可以定义几个别名,他们中间用:号分隔
虽然sudo的配置文件是/etc/sudoers,但是这是总文件,不建议在这里配置sudo授权。可以在/etc/sudoers.d/目录下创建一个任意名的文本文件,然后在该文件内写入sudo授权配置信息,系统会自动检索这个目录下的文件并把它当作sudo授权的配置文件

**①Host_Alias

1.Host_Alias HT01=localhost,st05,st04,10,0,0,4,255.255.255.0,192.168.1.0/24
注:定义主机别名HT01,通过=号列出成员

我们通过Host_Alias 定义主机别名时,项目可以是主机名、可以是单个ip(整段ip地址也可以),也可以是网络掩码;如果是主机名,必须是多台机器的网络中,而且这些机器得能通过主机名相互通信访问才有效。
在定义授权规则时通过ALL来匹配所有可能出现的主机情况。
192.168.1.0/24(24是网断 说明有24位子网掩码 0 1 255 不可用 空了一个主机位有2
8 去除网关 主机 网波 2
8-3=254)
2.user_Alias用户 的分组
用户别名,别名成员可以是用户,用户组(前面要加%号)
User_Alias ADMIN=ztg,ztguang
定义用户别名ADMIN,有两个成员ztg和ztguang,这两个成员要在系统中确实存在
3.Runas_Alias
用来定义runas别名,这个别名是指sudo允许切换到的用户;
Runas_Alias RUN_AS = root
定义runas别名RUN_AS,有一个成员root。
4.Cmnd_Alias
#Cmnd_Alias MINGLING=/usr/sbin/ip
什么时候需要使用以上别名:(多个系统用户,需要分类,分层次管理用户的时候。)

授权规则

方法一: root ALL=(ALL) ALL
授权用户 授权主机 命令
(切换路径
用户,用户组。
是否需要验证)
方法二:
%users localhost=/sbin/shutdown -h now
授权用户 授权主机=命令

例子
1.使user1有权限挂载 、/dev/sr0 到/media下
2.使user1user2有权限实行ip.使用别名实现,且不需要密码
3.使user2有权限使用、/user/sbin下所有命令 除了/user/sbin/userdel
4.使user2有权限查看、var/log/message后的所有文件
在这里插入图片描述
也可用以下方法:
#user rule1
#%users localhost=/sbin/shutdown -h now
#use1 ALL=(ALL) /usr/bin/mount /dev/sr0 /media
#user rule2
#User_Alias USER=use1,use2
#Cmnd_Alias COMD=/usr/sbin/ip
#USER ALL=(ALL) NOPASSWD: COMD
#user rule3
#use2 ALL= /usr/sbin/,!/usr/sbin/userdel
#user rule4
use2 ALL= /usr/bin/cat /var/log/message*,!/bin/cat /var/log/message* *

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值