linux基础知识之怎么进行用户管理?怎么增删用户/用户组,怎么更改用户信息,有这一篇就够了!

用户/用户组

1. 用户的三要素:

1.身份(账号) account
2.授权(权限) author
3.认证(密码证明是用户本人) auth

2. 用户组:

用户组是一个逻辑容器,对用户进行归类和统一授权。

3. 用户及用户组在系统中的存在方式:

电脑对数字敏感,用id来识别用户。
人类对字符串敏感,用名称来识别用户。
id、名称,必须要记录到文件当中用户才能存在。用户就是/etc/passwd文件中的一行字符,用户组存在的方式就是/etc/group 文件中的一行字符。

4. 用户涉及到的系统配置文件
  1. /etc/passwd   ##用户身份信息文件
    #用户名称:用户密码:用户id(uid):用户主组id(gid):用户说明:用户家目录:用户默认shell
    在这里插入图片描述
    ##用户密码不存在此文件里,无意义但功能还在
    ##用户说明是什么登录系统显示信息就是什么,图形登陆列表的名称
    ##默认shell还可以换成/bin/sh,/sbin/nologin是是非交互式的shell不能登录,交互式的才可以
    在这里插入图片描述
    在这里插入图片描述
  2. /etc/group   ##组身份信息文件
    #组名称:组密码:组id:组的附加成员
    在这里插入图片描述
  3. /etc/shadow  ##用户认证信息文件
    各字段代表意思:
    用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用)
    在这里插入图片描述

##Linux 计算用户密码最后一次被修改时间一般是从 1970 年 1 月 1 日开始到最后一次修改经历了多少天算的。
##密码最短有效期意思是多长时间内不能改密码,如果为0则随时可以改,此字段是为了针对某些人频繁更改账户密码而设计的。
##密码最长有效期为了强制要求用户变更密码,这个字段可以指定距离最后一次更改密码多长时间内需要再次变更密码,否则该账户密码进行过期阶段。该字段的默认值为 99999,可以理解为永久生效。
##账号非活跃期指在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用。比如说,此字段规定的宽限天数是 10,则代表密码过期 10 天后失效;如果是 0,则代表密码过期后立即失效;如果是 -1,则代表密码永远不会失效。
##账户到期时间使用自1970 年 1 月 1 日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用。
##用户自定义这个字段目前没有使用,等待新功能的加入。

  1. /etc/skel/.*   ##用户环境配置文件模板
  2. /home/username   ##用户家目录
  3. /var/spool/mail/username   ##用户邮箱文件
5. 用户id范围:

0-65535(2的16次方)
0:   ##超级用户ID
1-200:   ##系统预留ID
201-999:   ##系统用户
1000-65535:   ##用户级id
##以上ID设定规则都被记录在/etc/login.defs

用户查看和切换

1. 用户查看

whomai   ##单独使用查看当前用户是谁
id:查看用户id信息,有以下参数:
-a   ##查看当前用户的用户信息
-u   ##查看用户的用户id
-g   ##查看用户主组id
-G   ##查看用户所有的组的id
-n   ##显示组的名称,不能单独使用,可以配合g、G使用
在这里插入图片描述
##gid是所在的初始组id(主组),即创建时默认的组,groups是所有的组包括主组和所在的其他组即附加组的id
在这里插入图片描述
在这里插入图片描述

2. 用户切换

su username   ##切换用户
su - username  ##加-切换用户环境,不加的话还是在之前的用户环境里

##如果从root登录到common user(普通用户)不需要后者密码。如果从common user登录到root 需要密码,从common user登录到common user 需要密码。
##注意:
在做用户切换时当使用完毕用户身份及时退出,不要在一个shell中反复执行su命令,在一个shell中反复执行su命令会导致出现多个bash容易致使环境错乱。
在这里插入图片描述

用户/用户组的建立及删除

1. 监控用户建立

watch -n 1 -d tail -n 4 /etc/passwd /etc/group
##-n 1表示时隔1秒刷新,-d表示高亮显示动态变化,此命令意为实时监控passwd文件和group文件后4行的变化
在这里插入图片描述
watch -n 1 ls -l /home意为监控/home文件变化
在这里插入图片描述
watch -n 1 "tail -n -4 /etc/passwd /etc/group;echo ---------;ls -l /home"监控相应文件变化,用分隔不同的命令,用“”将命令合起来,用---------当分割线。如下图:
在这里插入图片描述

2. useradd / userdel:建立 / 删除用户

-u id username   ##建立用户并指定用户uid
-g id username   ##主组id
-G id username   ##附加组id
-d dir username   ##指定用户家目录
-M username   ##建立用户时不建立家目录
-c word username   ##指定用户说明,如果字符间有空格就用引号引起来
-s shell username   ##指定用shell
在这里插入图片描述
userdel -r username   ##用户删除 -r 删除用户的系统配置文件

2. groupadd / groupdel:组的建立 / 删除

groupadd -g id groupname   ##指定组id
groupdel groupname   ##组删除
在这里插入图片描述

用户/用户组的信息更改

1. usermod

-l   #更改用户名称
-u   #更改用户id
-g   #更改主组id
-G   #更改用户附加组身份
##usermod -G更改会把以前的删除掉,加a不会,想删掉就‘’为空
-aG   #添加用户附加组身份,也可以不用id直接添加名字
-c   #更改用户说明
-d   #更改家目录指向,只更改passwd文件中字符
-md   #更改家目录指向同时更改家目录名称
-s   #更改默认shell
-L   #冻结账号
-U   #解锁
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. groupmod

groupmod -g id groupname   ##更改用户组id
在这里插入图片描述
在这里插入图片描述

用户密码相关命令

passwd -S lee   ##查看密码状态
在这里插入图片描述
root用户修改密码
passwd user,或者只有root可以执行的 “echo 密码 | passwd --stdin user”
在这里插入图片描述
普通用户修改密码
在这里插入图片描述
passwd -l lee   ##冻结账号认证
passwd -u lee   ##解锁账号认证
passwd -d lee  ##删除密码
passwd -e lee   ##修改默认使用时间为0
passwd -n 1 lee   ##lee在1天内不能改密码
passwd -x 40 lee   ##40天内lee用户必须更新密码否则会被冻结
passwd -w 2 lee   ##账号过期前警告时间
passwd -i 2 lee   ##账号认证最大时间超过后还能用多久
##passwd有些期限不能改
在这里插入图片描述
chage -d 0 lee   ##账号必须改密码才能登陆系统
chage -m 1 lee  ##密码最长有效期
chage -M 30 lee  ##密码过期警告
chage -W 1 lee   ##认证非活跃天数
chage -I 1 lee   ##账号认证到期时间
chage -E “2020-05-11”   ##到2020-5-11这天账号会被冻结
##chage不能修改密码
在这里插入图片描述

用户下放权力

修改visudo文件授权:
此命令作用是编辑/etc/sudoers并提供语法检测。
##在文件的第100行后进行编辑,格式如下:
username hostname=(newusername) [NOPASSWD:] /command, /command1
举例:
#lee用户 在localhost主机=(用超级用户身份) 执行useradd命令
lee localhost=(root) /usr/sbin/useradd
#lucky用户在localhost主机使用超户免密执行useradd 和 userdel
lucky localhost=(root) NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel
在这里插入图片描述
测试是否成功:
给普通用户授权方式 “sudo”:使普通用户使用指定的用户身份运行命令。
##使用权限:在 /etc/sudoers 中有出现的使用者(在上面我们已经将luck用户添加进去了)。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值