Linux下的用户管理(二)——更改用户的信息,密码的信息及用户的授权

1.连网的过程
(1)先切换到超级用户下进行操作,普通用户不可以更改系统配置
(2)cd /etc/sysconfig/network-scripts/
(3)切换到该目录下后ls查看,有route-br0文件的话直接rm -fr route-br0删除他
在这里插入图片描述
(4)再vim e-br0,没有东西的话退出
在这里插入图片描述
(5)vim ifcfg-br0,看有没有GATEWAY(有的话注释掉GATEWAY)
在这里插入图片描述
(6)vim /etc/sysconfig/network并注释掉GATEWAY(加#注释)
在这里插入图片描述
(7)重启系统或重启网络,ping 一个网址看能不能通 (如:ping www.baidu.com
systemctl stop NetworkManager.service是关掉网络
systemctl start NetworkManager.service打开网络

2.建立的用户在/etc/login.defs下,帐号的认证信息默认在该目录下

3.更改用户信息
usermod (modify)
注:先新建一个用户并监控/etc/passwd和/etc/group文件
在这里插入图片描述
(1)usermod -l (login登陆的意思) newname oldname更改用户的名字
在这里插入图片描述

(2)usermod -u uid username 更改用户的uid
在这里插入图片描述
(3)usermod -g gid username 更改用户的 gid
在这里插入图片描述
(4)usermod -G xxx username 更改用户的附加组,同时添加加逗号,同时去掉加 “ ”
在这里插入图片描述
如:将用户的附加组1001改为21
在这里插入图片描述
(5)usermod -aG xxx username 添加,在原附加组不变的情况下添加新的附加组-G会把原来的附加组删掉,然后添加新的附加组(’ '和 “ ”的区别是弱引用和强引用)
在这里插入图片描述
usermod -G " " username 是清空该用户的所有附加组
在这里插入图片描述

注:建立一个用户的同时会建立一个对应的组,修改用户的名字时原来组的名字不会变,当修改信息与原来信息相同时系统会提示usermod: no changes(-g -G和-aG使用时要注意这个组必须存在)
(6)usermod -c " " username更改用户的说明信息
在这里插入图片描述
(7)usermod -s username 更改用户的shell

注:更改shell时shell必须是系统中存在的shell,查看系统中的shell用 cat /etc/shells
在这里插入图片描述
(8)usermod -d 只是更改家目录的指向,名字不变
在这里插入图片描述
此时切换到用户boom会出现以下情况
在这里插入图片描述
这是因为该用户的家目录指向改变了,但系统中他的家目录还是以前的名字,此时切换用户就会出现矛盾
(9)usermod -md 时改变家目录的名字和指向,顺序不可逆
将用户家目录的名字和指向都改回原来的时切换用户就会成功
在这里插入图片描述

(10)usermod -L (lock) 锁定用户
注:冻结和解锁用户前需要设定密码
在这里插入图片描述
然后锁定该用户
在这里插入图片描述
退出当前用户重新登录出现以下界面,由于新建的用户被冻结了所以图形登录界面不会显示该用户的信息
在这里插入图片描述
选择超级用户登录后对新建用户进行解锁
(11)usermod -U 解锁用户 (unlock)
在这里插入图片描述
再退出当前用户来到登录界面(hello是之前对当前用户添加的说明)
在这里插入图片描述
选择hello登录,输入设定的密码即可登录
在这里插入图片描述

4.用户密码相关
(1)passwd username 设定用户密码(必须在超级用户下执行该命令)
在这里插入图片描述
#####ctrl+D 退出命令行
(2)用户密码信息各个位的含义

用户名 用户的名字
密码 (用户的加密字符串,默认的加密方式为sha512对称加密,如果加密字符串前出现了“!”那么用户被冻结)
密码使用天数 (用户密码最后一次被更改的时间,此时间是从1970-1-1开始计算的累计天数)
密码的最短有效期 (相当于保质期,如果此为有数字,那么在此位数字范围内的天数内是不能修改用户密码的)
密码的最长有效期 (用户必须在此有效期内更新密码,如果超时会被冻结)
有效期提示 (快到期的前指定天数内提醒用户)
非活跃天数 (此位默认为空,如果设定数值那么在密码最长有效期哦过后仍然可以使用的保质期外的额外期限)
帐号到期日 (默认为空,表示帐号一定会被冻结的时间点,不可以刷新,到期就会冻结)
用户自定义列 (目前没有用)

注:
1.一个用户被删除时该用户的密码信息都会被删除
2.超级用户更改用户密码时不需要输入原始密码,超级用户设定的密码不受强度的限制,超级用户的规定时用来限制普通用户的,自己不受限制
3.用户自己修改自己密码时切换到该用户下直接执行passwd命令,然后输入原始密码,密码会要求密码强度,密码不能和帐号名称相似,密码不能是纯数字或纯字母,也不可以是有序的字母或数字的组合
4.对称加密:加密和解密用的是同一个字符串如指纹解锁

####做以下实验前先执行 watch -n 1 'tail -n 1 /etc/shadow’进行监控,再新建######
在这里插入图片描述
在这里插入图片描述
(3)passwd -d username 删除密码(超级用户下使用)
在这里插入图片描述
(4)passwd -l username 锁定该用户密码,直观显示是在用户密码前加入“!!” (只能超级用户下使用)
在这里插入图片描述
(5)passwd -u username 解锁该用户密码,直观显示是去掉密码前的!!(只能超级用户下使用 )
在这里插入图片描述
图上显示解锁的密码是空的必须要加“-f”强制解锁,所以解锁用户密码时密码不能为空
在这里插入图片描述
(6)passwd -S username 查看用户的密码信息 只有超级用户下可以使用
在这里插入图片描述
当用户密码不为空时会显示密码的加密方式(SHA512)
在这里插入图片描述
(7)usermod -L username 锁定用户,直观显示是在用户密码前加入“!”
在这里插入图片描述
(8)usermod -U username 解锁用户,直观显示是在去掉密码前的“!”

注:此命令在密码不为空时使用,若密码为空会出现以下报错
在这里插入图片描述
给boom用户设定一个密码之后执行该命令便不会再报错,如图密码前的!被去掉了
在这里插入图片描述
(9)修改用户密码最后一次被更改日期
<1> passwd -e username (-e默认将时间设为0)
在这里插入图片描述
<2> chage -d num username
在这里插入图片描述
注:当密码最后一次执行时间被更改时再次登陆该用户系统会强制更改密码
如图:退出当前用户选择新建的用户登录
在这里插入图片描述
如图系统会要求输入原始密码修改新密码
在这里插入图片描述
输入新密码:
在这里插入图片描述
再次输入新密码
在这里插入图片描述
修改密码成功,登录成功
(10)修改用户密码的最短有效日期
<1> passwd -n 1 username
在这里插入图片描述
<2> chage -m 0 username
在这里插入图片描述
注:修改后在指定的时间内普通用户无法修改自身密码,当用户在最短有效期内修改自己的密码时系统会提示需要再等更长的时间,但超级用户可以

如图:先切换到该用户下再更改自己的密码会出现一下情况(操作前需要将最短有效期改成一个大于0的数)
在这里插入图片描述
如图:切换到超级用户下后修改新建用户的密码尽管最短有效期是1,但还是可以修改成功;所以说所有的设定对超级用户是没有限制的
在这里插入图片描述
(11)最长有效日期
<1>passwd -x 30 username
(为了方便观察如图将该用户的密码删除了)
在这里插入图片描述
<2>chage -M 31 username
在这里插入图片描述
(12)密码警告日期
<1>passwd -w 2 username
在这里插入图片描述
<2>chage -W 30 username
在这里插入图片描述
(13)用户非活跃天数
passwd -i 10 username(默认的非活跃天数是-1,0表示到期当天还可以使用)
在这里插入图片描述
chage -I 15 username
在这里插入图片描述
注:默认的非活跃天数是-1,0表示到期当天还可以使用

1.如图:是将用户的非活跃天数设置为默认
在这里插入图片描述
2.如图:是将非活跃天数设置为0,表示到期当天还可以使用
在这里插入图片描述
(14)密码到期日期
chage -E 时间点 最后一位的更改
在这里插入图片描述
注:passwd 和 chage 两个命令的区别
passwd可以修改密码,chage 不可以修改密码,passwd不可以修改密码到期时间
chage是专门更改用户密码信息的命令
5.用户授权
(1)权力下放文件为 /etc/sudoers 可以用vim编辑,但不提供语法检测
在这里插入图片描述
(2)visudo 专门用来编辑sudoers文件的命令,会自动检测语法,当语法没有错误时才可以退出
在这里插入图片描述
########在100行左右输入(为了语法的规范性)
用户 主机名称=(得到的用户身份) 命令
例如:

命令 含义
popo localhost=(root) /usr/sbin/useradd (popo可以在localhost主机以root用户身份执行useradd命令 )
popo localhost=(root) NOPASSWD: /usr/sbin/useradd (popo可以在localhost主机以用户身份免密执行useradd )

popo localhost=(root) /usr/sbin/useradd (popo可以在localhost主机以root用户身份执行useradd命令
popo localhost=(root) NOPASSWD: /usr/sbin/useradd(popo可以在localhost主机以用户身份免密执行useradd

注: 查看主机名 hostname
在这里插入图片描述
##########测试#########
(1)用户没有密码的情况:

<1>先su - username其切换到普通用户下,再执行useradd命令
如图:用户boom是没有建立新用户的权限的
在这里插入图片描述
进入visudo在100行左右输入如下命令
在这里插入图片描述
<2>这时sudo调用useradd命令系统会提示,(若是用户有密码会提示输入密码,没有密码会出现下图提示)
在这里插入图片描述
(2)输入密码的情况:
(调用) sudo 命令 第一次执行时需要输入密码
<1>如图:新建一个用户yan,给该用户设定密码
在这里插入图片描述
在这里插入图片描述
<2>超级用户下visudo,当输入的内容有语法错误时系统会报错,按“e”进入编辑,更改错误后退出
在这里插入图片描述
输入的内容为
在这里插入图片描述
<3>切换到yan这个用户下并sudo调用useradd命令,系统会提示输入yan这个用户的密码,输入密码后新用户建立成功
在这里插入图片描述
(3)免密的情况:

注: 要一次授权多个命令时用“,”和空格隔开
<1>用超级用户建立一个新的用户liu,并给该用户设定一个密码
在这里插入图片描述
<2>visudo输入以下内容
在这里插入图片描述
<3>切换到用户liu,sudo调用useradd命令和userdel命令
在这里插入图片描述
此时系统不会出现任何报错或提示,操作完后exit退出该用户
6.环境变量: 系统会自动在环境变量中搜索 su - 中的 - 表示环境变量

######查看环境变量echo $PATH
(1)如图:su - 切换用户后,对比两个用户的环境变量是不同的
在这里插入图片描述
(2)如图:su 切换用户后查看环境变量,对比发现环境变量是一样的
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44224894/article/details/85652586