linux用户管理

1.用户的理解
用户就是系统使用者的身份
在系统中用户存储为若干串字符+若干个系统配置文件
用户信息涉及到的系统配置文件:

/etc/passwd               ##用户信息

在这里插入图片描述
用户:密码(x表示加密):uid:gid:说明:家目录:用户使用的shell

在这里插入图片描述
在这里插入图片描述

/etc/shadow               ##用户认证信息

用户:密码(乱码表示加密,512对称加密,!!表示该用户被冻结):最后一次密码修改该时间:最短有效期:最长有效期(999即无限期,超时不改会被冻结):警告期(7即7天提醒修改密码):非活跃期:帐号到期日

在这里插入图片描述

/etc/group		     ##组信息
组名称:组密码:组id:附加组成员
/etc/gshadow		 ##组认证信息
/home/username		 ##用户家目录
/etc/skel/.*		 ##用户骨架文件

注意: /etc/skel/ 这个目录中的所有文件或目录在用户新建的过程中会被复制到用户的家目录里
这个目录中默认存在的隐藏文件是用户的默认配置文件

<用户存在的意义>
用户管理是对文件进行管理,用户的存在是为了回收权力
<组存在的意义>
组的存在是为了共享权力,组和用户是两个不同的机制
<组的分类>
初始组:用户出生时就加入的组
附加组:用户后期加入的组

2.用户的查看

命令功能
whoami查看当前用户
id -username查看指定用户信息
id -a显示所有信息
id -u显示用户uid(创建就有的id)
id -g显示用户gid(初始组id)
id -G显示用户所有组(初始组+附加组)的id
id -n查看用户组名(与g/G连用)

在这里插入图片描述

3.用户的管理
(1)用户的建立

参数功能
useradd -u指定用户uid
useradd -g指定用户初始组信息
useradd -G指定附加组
useradd -c用户说明
useradd -d用户家目录
useradd -s用户所使用的shell,/etc/shells记录了用户能使用shell的名字

(2)查看命令当前的状态
watch -n 1 每秒更新一次
注:同时监控多个命令时可以用’ ‘将watch -n 1后的命令括起来,’ '里的命令可以用;隔开

watch -n 1 ‘tail -n 6 /etc/passwd /etc/group;ls -l /home/’
##每秒更新一次并查看passwd和group文件的后六行

在这里插入图片描述
在这里插入图片描述
当以上参数在同一命令中生效时:
在这里插入图片描述

(2)用户的删除

userdel -r username      ##-r表示删除用户信息及用户的系统配置文件

在这里插入图片描述
当我们删除ld1的时候,发现他的组与其他成员共用,且上面显示与ld1共用的组有ld3和ld6,因此需要把这两个用户删除后组1111才会被删除掉。

(3)组的建立与删除

命令功能
groupadd 组名建立组
groupadd -g 组名建立设定好id的组
groupdel 组名删除组

在这里插入图片描述
注意:若用户存在,则不能单独删除组
若在删除用户时没有使用-r则删除不彻底,
需用find命令找到用户的邮件和home下的档案用rm -rf彻底删除
在这里插入图片描述
(4)用户的切换
<1> su 用户名称 ##切换用户却不切换工作环境
<2> su - 用户名,其中 “-” 标示在用户身份切换时同时切换当前用户的环境
注意:su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要密码。
在这里插入图片描述
4.用户信息更改

usermod 参数 用户
参数功能
-l更改用户名称
-u更改用户uid
-g更改用户gid
-G更改附加组
-aG添加附加组
-c更改说明
-d更改家目录指定
-md更改家目录指定及家目录名称
-s更改shell
-L冻结帐号
-U解锁帐号
usermod -l 新用户名 旧用户名
注意:-g、-G和-aG使用时要注意这个组必须存在

在这里插入图片描述

更改附加组-G和添加附加组-aG

注意:在原附加组不变的情况下添加附加组-aG会把原来的附加组删掉,然后添加新的附加组
在这里插入图片描述

usermod -G " " username     ##清空该用户的所有附加组

双引号单引号均可(仅强弱引用之别)
在这里插入图片描述

注意:建立一个用户的同时会建立一个对应的组,修改用户的名字时原来组的名字不会变,当修改信息与原来信息相同时系统会提示usermod: no changes

usermod -s username      ##更改用户的shell

注意:更改shell时shell必须是系统中存在的shell,查看系统中的shell用 cat /etc/shells

在这里插入图片描述

usermod -d 家目录 用户名     ##只更改家目录的指向,名字不变

在这里插入图片描述
注意:这时切换到该用户,会出现问题,这是因为该用户的家目录指向改变了,但系统中他的家目录还是以前的名字。
在这里插入图片描述
usermod -md 家目录 用户名 ##改变家目录的名字和指向
在这里插入图片描述

usermod -L username         ## 锁定用户

注意:冻结和解锁用户前需要设定密码
在这里插入图片描述
当用户冻结时,登陆界面没有该用户在这里插入图片描述

usermod -U username    ##解冻用户

在这里插入图片描述
重新打开该用户出现
在这里插入图片描述
5.用户密码

命令功能
passwd username修改用户密码
passwd -l username锁定用户密码(密码前加!!)
passwd -u username解锁密码(去掉!!)
passwd -d username删除密码
passwd -S username查看用户密码信息

ld用户密码加锁,redhat用户密码不加锁
在这里插入图片描述

passwd -S username  ## 查看用户密码信息

当用户密码不为空时会显示密码的加密方式(SHA512即512对称加密)
在这里插入图片描述

注意: 普通用户改密码时
(1)必须知道当前用户原始密码
(2)密码不能和帐号名称相似
(3)密码不能是纯数字或纯字母
(4)密码不能是有序的字母和数字的组合
超级用户无此限制,只是有提示,仍然可以修改成功。

6.用户认证信息的控制

命令功能
chage -d用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
passwd -e同上

注意:当密码最后一次执行时间被更改时再次登陆该用户系统会强制更改密码
在这里插入图片描述
登陆该用户,提示修改密码,先输入旧密码在这里插入图片描述
然后输入新密码两次
在这里插入图片描述

命令功能
chage -m最短有效期
passwd -n同上

操作前需要将最短有效期改成一个大于0的数
在这里插入图片描述

由上可知:修改后在指定的时间内普通用户无法修改自身密码,当用户在最短有效期内修改自己的密码时系统会提示需要再等更长的时间,但超级用户可以修改

命令功能
chage -M最长有效期
passwd -x同上
passwd -x 30 ld 	##设定ld用户在30天内必须改密码
chage  -M 30 ld     ##同上
命令功能
chage -W警告期
passwd -w同上
passwd -w 2 ld		##密码过期前两天有警告
chage  -W 2 ld
命令功能
chage -I(大写 i)用户非活跃天数
passwd -i同上

注意:默认的非活跃天数是-1,0表示到期当天还可以使用

passwd -i 10 ld		##密码过期后仍可登陆系统的天数
chage  -I 10 ld
命令功能
chage -E帐号到期日 xxxx-xx-xx
chage  -E 2020-11-11 ld		##ld用户在2020-11-11日会被冻结

注意:passwd VS chage
passwd可以修改密码,chage 不可以修改密码
passwd不可以修改密码到期时间
chage是专门更改用户密码信息的命令

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值