Linux用户,组管理(2)

一.命令

1.passwd命令

命令用法
passwd (选项)(用户名)

功能
可用于修改用户密码信息

选项说明
-l:锁定用户
-u:解锁用户
-e:密码过期期限
-i:非活动期限
-n:密码最短有效期
-x:密码最长有效期
-w:警告期限
–stdin
可用echo “pasword” | passwd --stdin username为用户设置新密码

2.gpassswd命令

命令用法
gpasswd(选项 用户名)(组名)

功能
用于对用户组的管理

选项说明
-a:向组中添加用户
-d:从组中移除用户

3.newgrp命令

命令用法
newgrp(-)(指定组)
-:会模拟用户重新登录以实现重新初始化其工作环境

功能
切换用户原有的组为指定组(用id命令可查到用户gid从原组gid变为指定组gid)。
必须登录用户后才能使用此命令,用户必须在指定组里。
切换指定组后用户可以拥有此组的权限。

4.chage命令

命令用法
chage(选项)(用户名)

功能
更改用户密码过期信息(与passwd命令功能相似)

选项说明
-d:指定密码最后修改日期
-E:指定密码到期日期,到期后账号不可用,0表示马上过期,-1表示永不过期
-W:密码过期前,提前收到警告信息的天数
-m:密码可以更改的最小天数,为0代表任何时候都可更改
-M:密码最大有效期

5.id命令

命令用法
id (选项)(用户名)

功能
显示用户的有效ID

选项说明
-u:显示用户UID
-g:显示用户基本组ID
-G:显示用户所属所有组的ID
-n:显示用户名

二.给普通用户提权

(一)su方式提权

1.用途和方法
用途:切换用户
格式:su - 目标用户

2.密码验证
由root切换到其他任意用户,不需要输入密码验证。
由普通用户切换到其他任意用户,需要输入目标用户密码验证。

3.su优缺点
优点:管理方便。
缺点:不安全,如果某些用户不知道其他用户密码,而用su命令频繁尝试其他用户密码(如root),一旦蒙对,后果严重。
所以为了增强普通用户对su命令的使用限制,我们可以借助pam_wheel认证模块,只允许极个别用户能使用su命令切换(此操作不会影响root用户,root用户仍然可以切换任意用户)。

4.实现过程
原理:/etc/pam.d/su文件启用某行后,除root用户外其他用户无权su;只要把用户加入wheel组,用户就可以su。
(1)“vim /etc/pam.d/su”进入/etc/pam.d/su文件,然后删掉图片标注的第一行的注释(即删掉行首#)。
完成此步骤后,除root用户外其他用户则不能切换任意用户。
在这里插入图片描述
在这里插入图片描述
(2)“usermod -aG wheel 指定用户 ”(或“gpasswd -a 指定用户 wheel”) 可以把指定用户加入wheel组。(/etc/group文件里默认有wheel组)
完成此步骤,指定用户(已在wheel组内)和root用户可以切换任意用户,其他用户依旧不能切换。
在这里插入图片描述
在这里插入图片描述

(二)sudo方式提权

1.背景
通过su命令可以方便切换用户,但必须知道root密码,但是特权密码知道的越多就越不安全。所以我们可以用sudo命令来增加普通用户的执行权限,即让普通用户拥有部分管理权限,而又不用告诉其特权密码。
此操作需要由管理员预先授权,指定允许哪些用户能以超级用户身份来执行哪些命令。

2.分析sudo配置文件/etc/sudoers
(1)别名规则
Alias_Type NAME=item1,item2,或
Alias_Type NAME=item1,item2:NAME=item3,item4

***注:NAME命名规则是包含大写字母,数字及下划线,而且必须以大写字母开头。

其中,Alias_Type是指别名类型,有以下几种:

①Host_Alias
主机别名
举例:Host_Alias MAILSERVERS = smtp, smtp2
MAILSERVERS是主机别名,smtp, smtp2是成员

②User_Alias
用户别名,别名成员可以是用户,用户组(前面要加%)
举例:User_Alias ADMINS = jsmith,
mikem ADMINS是用户别名,jsmith, mikem是两个成员(要在系统中存在)

③Cmnd_Alias
命令别名,这些命令必须是系统存在的文件,要用**“绝对路径”**,文件名可以用通配符。
举例:Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

(2)授权规则
授权规则的定义格式:
授权用户 主机=命令动作
或者
授权用户 主机=[(切换到哪些用户或用户组)] [是否需要密码验证] 命令1,…

用户,主机,命令三要素缺一不可。可切换用户用()括起来;不需要密码直接运行命令的加上NOPASSWD:参数,这些都可以省略。

①方式1:
root ALL=(ALL) ALL
root可以在所有主机切换所有用户,运行所有命令。
举例:test 192.168.42.1=(test001) vim,(test002) ifconfig,(test003) ip a
用户test可以在192.168.42.1主机中切换test001,test002,test003用户,并分别在其上运行vim,ifconfig,ipa命令。

②方式2:
举例:%users localhost=/sbin/shutdown -h now
用户组users可以在主机localhost上执行关机命令。

3.举例
(1)使用户use1能够有权限挂载/dev/sr0到/media目录下(默认mount此操作只用root能执行)。
①:创建/etc/sudoers.d/user文件;
②:在user文件中写入授权命令;
use1 ALL=(ALL) usr/bin/mount /dev/sr0 /media
③:退回use1用户下,执行此操作;
sudo mount /dev/sr0 /media即可。
在这里插入图片描述
(2)使use2用户能够有权限使用/user/sbin下所有命令,除了/usr/sbin/userdel。
①:在/etc/sudoers.d/user文件中写入;
use2 ALL=(root) usr/sbin/,!/usr/sbin/userdel
②:退出后进入use2用户模式下可执行/usr/sbin/下除过userdel命令的其他命令;
在这里插入图片描述
(3)使用户use2能够有权限查看/var/log/messages后的所有文件。
①:在/etc/sudoers.d/user文件中写入;
use2 ALL= /usr/bin/cat /vat/log/messages*,!/bin/cat /var/log/messages* *
②:进入use2用户下输入命令;
sudo cat /var/log/messages即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值