第十一天---用户管理

用户管理:
1.什么是用户?
2.为什么要创建用户?
3.如何查看当前用户的详请? id
4.创建用户会在系统的哪个配置中保存信息
5.如何创建用户、删除用户、修改用户? <–useradd usermod userdel
6.如何为用户设定密码,又如何修改密码? <–password

为什么要有组?
我们可以为组设定对应的权限,然后将成员加入该组,那么该组成员就能够继承组的权限。

创建用户会在系统的哪个配置中保存信息
/etc/password 存储用户信息
/etc/shadow 存储用户密码

1.使用useradd命令新增用户,注意: adduser命令软链接指向useradd命令

#选项

-u 指定要创建用户的UID,不允许冲突

-g 指定要创建用户默认组 如果没有指定 系统给一个与你同名的组

-G 指定要创建用户附加组,逗号隔开可添加多个附加组 可以有N多个

-c 指定要创建用户注释信息

-s 指定要创建用户的bash shell /bin/bash /sbin/nologin

-d 指定要创建用户家目录 默认都在/home下

-M 给创建的用户不创建家目录

-r 创建系统账户,默认无家目录

例子:
#1.创建bgx用户,UID5001,基本组students,附加组sa 注释信息:2019 new student,登陆shell:/bin/bash

创建组
[root@localhost ~]# groupadd students
[root@localhost ~]# groupadd sa

创建用户(指定属性)
[root@localhost ~]# useradd bgx -u 5001 -g students -G sa -c “2020 new student” -s /bin/bash

检查bgx用户
[root@localhost ~]# id bgx

过滤配置文件,检查用户详情(在这里面不显示附加组信息,只显示基本组)
[root@localhost ~]# grep “bgx” /etc/passwd
bgx❌5001:1110:2020 new student:/home/bgx:/bin/bash

#2.创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统

1.-r创建一个系统用户,系统用户默认就没有家目录,-s 在指定不运行登陆系统
[root@localhost ~]# useradd mysql -r -s /sbin/nologin

2.-M不给用户创建家目录,并指定登陆的bash是/sbin/nologin
[root@localhost ~]# useradd mysql2 -M -s /sbin/nologin

2.使用usermod命令修改用户信息

#选项

-u 指定要修改用户的UID

-g 指定要修改用户基本组

-G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组

-d 指定要修改用户家目录

-s 指定要修改用户的bash shell

-c 指定要修改用户注释信息

-l 指定要修改用户的登陆名

-L 指定要锁定的用户

-U 指定要解锁的用户

#1.检查此前创建的用户信息
[root@localhost ~]# grep “bgx” /etc/passwd
bgx❌5001:1110:2020 new student:/home/bgx:/bin/bash

#2.修改bgx用户uid6001、group:devops, groups:network,sa

[root@localhost ~]# groupadd devops
[root@localhost ~]# groupadd network
[root@localhost ~]# usermod bgx -u6001 -g devops -G network,sa
-G > network,sa
-aG >> network

检查的操作
[root@localhost ~]# grep “bgx” /etc/passwd
bgx❌6001:5003:2020 new student:/home/bgx:/bin/bash

[root@localhost ~]# id bgx
uid=6001(bgx) gid=5003(devops) groups=5003(devops),1111(sa),5004(network)


#3.修改bgx用户的注释信息
用户家目录 /opt/bgx 登录shell /bin/sh 登录名 bgx_new

[root@localhost ~]# usermod bgx -c “2200 new student” -d /opt/bgx -s /bin/sh -l bgx_new

检查
[root@localhost ~]# grep “bgx” /etc/passwd
bgx_new❌6001:5003:2200 new student:/opt/bgx:/bin/sh

[root@localhost ~]# id bgx_new
uid=6001(bgx_new) gid=5003(devops) groups=5003(devops),1111(sa),5004(network)

#4.锁定用户[扩展]
[root@bgx ~]# echo “123” |passwd --stdin username
[root@bgx ~]# usermod -L username #锁定后会无法登陆系统

#5.解锁用户[扩展]
[root@bgx ~]# usermod -U username


3.使用userdel命令删除账户

#选项 -r 删除用户的家目录,以及用户的邮件

#1.删除user1用户,但不删除用户家目录和 mail spool
[root@bgx ~]# userdel user1

#2.-r参数可以连同用户家目录一起删除(慎用)
[root@bgx ~]# userdel -r user1

了解项:who、whoami、w检查用户登陆情况

4.修改密码passwd
1.如何为新用户设定密码,又如何变更老用户的密码。

创建用户后,如需要使用该用户登陆系统则需要为用户设定密码,设定密码使用passwd命令。

#1.使用passwd命令修改用户密码

passwd #给当前用户修改密码

passwd root #给root用户修改密码(只能是root才有此权限,其他任何用户都没有该权限)

passwd oldboy #给oldboy用户修改密码(root可以,或者oldboy用户自己给自己修改密码)

#通过passwd --stdin读取输出的结果,将结果赋值给对应的用户

echo “123” | passwd --stdin jack #非交互式修改密码

PS: 注意事项
1.普通用户只允许变更自己的密码,无法修改其他人密码,并且密码长度必须8位字符
2.管理员用户允许修改任何人的密码,无论密码长度多长或多短。

#2.系统内置变量生成随机字符串
[root@oldboy ~]# echo $RANDOM | md5sum | cut -c 2-10
d588c9112
echo $RANDOM 生成随机密码
md5sum

#4.mkpasswd生成随机字符串
选项:
-l 设定密码长度,
-d 数子,
-c 小写字母,
-C 大写字母,
-s 特殊字符

[root@localhost ~]# yum install expect -y
#注意:各种特殊字符的位数加起来,不能超过-l指定的长度
[root@localhost ~]# mkpasswd -l 10 -d 2 -c 3 -C 3 -s 2
d!Sy3Y/Wd8

扩展shadow 工具(了解)
描述

   shadow 是一个文件,它包含系统账户的密码信息和可选的年龄信息。
   如果没有维护好密码安全,此文件绝对不能让普通用户可读。
   此文件的每行包括 9 个字段,使用半角冒号 (“:”) 分隔,顺序如下:
   登录名
       必须是有效的账户名,且已经存在于系统中。
   加密了的密码
       请参考 crypt(3) 来了解关于解析此字符串的细节信息。
       如果密码字段包含一些不是 crypt(3) 合法结果的字符,比如 ! 或 *,用户将无法使用 unix
       密码登录(但是可以通过其它方法登录系统)。
       此字段可以为空,此时认证为特定的登录名时,不要求密码。然而,一些读取 /etc/shadow
       文件的应用程序,在密码字段为空时,可能决定禁止任何访问。
       以叹号开始的密码字段意味着密码被锁定。该行的剩余字符表示锁定之前的密码。
   最后一次更改密码的日期
       最近一次更改密码的时间,表示从1970年1月1日开始的天数。
       0 有特殊意思,表示用户应该在下次登录系统时更改密码。
       空字段表示密码年龄功能被禁用。
   密码的最小年龄
       最小密码年龄是指,用户一次更改密码之后,要等多长时间才再次被允许更改密码。
       空字段或 0 表示没有最小密码年龄。
   最大密码年龄
       最大密码年龄是指,这写天之后,用户必须更改密码。
       这写天之后,密码仍然可用。用户将会在下次登录的时候被要求更改密码。
       空字段表示没有最大密码年龄,没有密码警告时间段,没有密码禁用时间段(请看下边)。
       如果最大密码年龄小于最小密码年龄,用户将会不能更改密码。
   密码警告时间段
       密码过期之前,提前警告用户的的天数(请参考上边的密码的最大年龄)。
       空字段或者 0 表示没有密码警告期。
   密码禁用期
       密码过期(查看上边的密码最大年龄)后,仍然接受此密码的天数(在此期间,用户应该在下次登录时修改密码)。
       密码到期并且过了这个宽限期之后,使用用户的当前的密码将会不能登录。用户需要联系系统管理员。
       空字段表示没有强制密码过期。
   账户过期日期
       账户过期的日期,表示从1970年1月1日开始的天数。
       注意,账户过期不同于密码过期。账户过期时,用户将不被允许登录;密码过期时,用户将不被允许使用

其密码登录。
空字段表示账户永不过期。
应该避免使用 0,因为它既能理解成永不过期也能理解成在1970年1月1日过期。
保留字段
此字段保留作将来使用。

文件
/etc/passwd
用户账户信息。

   /etc/shadow
       安全用户账户信息。

   /etc/shadow-
       /etc/shadow 的备份文件。

       注意,此文件由 shadow 工具集使用,而不是所有的用户和密码管理工具都会使用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值