第三章 1.Linux 用户与组

命令速查:

/etc/passwd                 存储用户信息的文件
/etc/shadow                 存储用户密码信息文件
/etc/group                  存储了组信息
/etc/sudoers                sudo 命令配置文件

groupadd                    添加组
    -g                      指定组ID
groupmod                    修改组的属性
groupdel                    删除组

useradd                     添加用户
    -u                      指定uid 号
    -g                      指定基本组
    -G                      指定附加组
    -s                      指定用户登录的命令解释器
                            -s  /sbin/nologin
                            -s  /bin/bash
    -M                      不创建家目录
usermod                     更新用户信息
userdel                     删除用户
    -r                      删除用户时,同时删除家目录

passwd                      修改用户密码
    -S                      查看用户密码状态
    -l                      锁定用户
    -u                      解锁用户

chage                       修改密码过期时间
    -M                      修改密码最长有效期为多少天
    -n                      修改密码最短有效期为多少天  


ln -s /tmp/ajest.txt /root/Desktop/ajest.txt
                            将/tmp/ajest.txt 文件创建快捷方式到/root/Desktop/ajest.txt

Linux 用户和组

  • 理解Linux 用户和组的概念
  • 掌握passwd 文件的组成以及作用
  • 掌握shadow 文件的组成以及作用
  • 了解group 文件的内容

用户分类:

  • 超级管理员(root)0  0
  • 普通用户     1000--
  • 程序用户     1----1000

用户信息文件

/etc/passwd 文件中存储了所有用户信息。

passwd 格式

该文件每一行是一个用户信息,并且以: 为分隔符,一共7 段内容。

root:x:0:0:root:/root:/bin/bash
[--] - - - [--] [---] [--------]
 |   | | |   |    |        |
 |   | | |   |    |        +-> 7. Login shell
 |   | | |   |     +---------> 6. Home directory
 |   | | |   +---------------> 5. GECOS
 |   | | +-------------------> 4. GID
 |   | +---------------------> 3. UID
 |   +-----------------------> 2. Password
 +---------------------------> 1. Username
字段序号示例解释说明
1root用户名
2x密码占位符用户的密码
x 代表有密码
无内容,用户登录系统无需密码
30UID当前用户的身份标识
0 就是超级管理员
40GID当前用户的基本组ID
5root用户的身份信息
大名
现已废弃
6/root用户家目录超管:/root
普通用户:/home/用户名
7/bin/bash用户登录系统后
(默认)命令解释器
/sbin/nologin 不允许登录系统
/bin/sh
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@localhost ~]#

用户分类

用户分类UID
普通用户> 1000
程序用户1 - 1000
超级管理员用户0

用户密码文件

/etc/shadow 记录了系统中用户的密码信息。

shadow 格式

该文件每一行记录一个用户的密码信息,并且以: 作为分隔符,一共9 段内容。

可以尝试修改root 密码。

root:$6$.IOzaCZc$f.u0fVe5QZb0mhm6UZvjcfa.un7vRXw8frfyoURLrOHmo7JsTI40a/iaQuHm/uCFqRuljfAyBCJDvOk7ZsCEM.:18765:0:99999:7:::

passwd root

root:$6$T07ge8Py$.tZXOZIOpWq2sGZKEkKn2KMahL.mcyNrQrd3C3PIqNt8kA0p/K3JtG4Dwn4vyU2kSvyEg1K2xArTs61AG1Qo1/:18766:0:99999:7:::
字段序号示例含义说明
1root用户名
2$6$T07ge8密码密文sha-512 HASH 散列算法
salt 值
加密后的密文
318766密码修改时间距离1970 年1 月1 日
密码最近一次的修改时间(天)
40密码最短有效期在最短有效期之内不能修改密码
3:三天之内不可以修改自己的密码
root 用户不受此限制
599999密码最长有效期密码可以使用多长时间
建议设置成90 天
67密码过期时间密码过期前7 天会有警告提示
7密码的不活跃期过了密码有效期没有修改密码,
处于不活跃期,仍然可以登录系统。
8账户失效时间密码距离1970 年1 月1 日的失效时间(天)
9未分配功能
|             正常登录系统               |          仍然可以登录系统         |
0   用户不能修改密码  3 用户可以修改密码 83 提示修改密码 90        登录      |   密码锁定
|---------------------|------------------|----------------|------------------|-------------->
^                     ^                  ^                ^                  ^
密码修改时间      密码最短有效期     密码过期时间    密码最长有效期     密码不活跃期

shadow 爆破

密码密文:

$6$T07ge8Py$.tZXOZIOpWq2sGZKEkKn2KMahL.mcyNrQrd3C3PIqNt8kA0p/K3JtG4Dwn4vyU2kSvyEg1K2xArTs61AG1Qo1/

$id$salt$encrypted

$加密方式$盐值(随机的)$密码密文

密码密文加密方式:

man crypt

shadow 文件爆破原理:

[root@localhost ~]# python
Python 2.7.5 (default, Apr 11 2018, 07:36:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt
>>> crypt.crypt("123.com","$6$T07ge8Py")
'$6$T07ge8Py$3/./MkHtBbziE5UiB/PvR0vkcwtvCoV0G2uYuFfIpbDleXrPJ0BPPNkFZfOY1iTsap.pdxaMrkyXJ/jQ5nxiH0'
>>> crypt.crypt("123456","$6$T07ge8Py")
'$6$T07ge8Py$JFrusYYpGVwWWiqt99Zjs1SJ6h0k.68kigzB5RIswP64SvGeGTY5MlpSwuThUw3dPKcUT214xnReGwPvlbjU41'
>>>

组信息文件

/etc/group 保存了组信息。

group 格式

该文件的每一行记录了每一个组的信息,并且以: 作为分隔符,一共4 段内容。

ajest:x:1000:ajest
字段数示例含义说明
1ajest组名用户组的名称,由字母或数字构成。
2x密码x 是密码标识,
组密码默认保存在 /etc/gshadow 文件中。
31000GIDGroup ID
4ajest群组用户

组与用户

先有组,再有用户:

  • 用户必须有且只有一个基本组。
  • 当创建一个用户时,如果没有指定基本组,会先创建一个与该用户同名的组,再创建用户。

一个用户可以有多个附加组。

基本组内没有任何用户,才能被删除。

组与用户管理

  • 掌握建立、修改、删除组的方法
  • 掌握建立、修改、删除用户的方法

组管理

组管理,主要包括如下操作:

  • 建立组
  • 更新组信息
  • 删除组

建立组

建立组使用groupadd 命令。涉及的选项有:

  • -g,指定gid 号

新建class01 组:

[root@localhost ~]# groupadd class01
[root@localhost ~]# tail -1 /etc/group
class01:x:1001:
[root@localhost ~]#

新建class01 组,指定gid 为3000:

[root@localhost ~]# groupadd class01 -g 3000
[root@localhost ~]# tail -1 /etc/group
class01:x:3000:
[root@localhost ~]#

更新组信息

可以使用groupmod 命令更新组信息。

修改class01 组的gid 为2000:

[root@localhost ~]# groupmod class01 -g 2000
[root@localhost ~]# tail -1 /etc/group
class01:x:2000:
[root@localhost ~]#

删除组

使用groupdel 命令可以删除组。

删除class01 组:

[root@localhost ~]# groupdel class01
[root@localhost ~]#

用户管理

用户管理操作,主要包括:

  • 建立用户
  • 修改用户信息
  • 删除用户

建立用户

可以通过useradd 命令创建用户,在创建用户的时候,可以通过选项指定用户基本信息,主要选项有:

  • -u,指定uid 号
  • -g,指定基本组
  • -G,指定附加组
  • -s,指定用户登录的命令解释器,如-s /sbin/nologin,-s /bin/bash
  • -M,不创建家目录

新建tom 用户:

[root@localhost ~]# useradd tom
[root@localhost ~]# id tom
uid=1001(tom) gid=1001(tom) groups=1001(tom)
[root@localhost ~]# tail -1 /etc/group
tom:x:1001:
[root@localhost ~]#

由以上命令结果可知,在创建tom 用户时,没有指定基本组,Linux 创建了一个名为tom 的组。可以通过查看日志,印证观察到的结果。

[root@localhost ~]# grep "tom" /var/log/secure 
Feb 23 11:44:23 localhost useradd[57489]: new group: name=tom, GID=1001
Feb 23 11:44:23 localhost useradd[57489]: new user: name=tom, UID=1001, GID=1001, home=/home/tom, shell=/bin/bash
[root@localhost ~]#

修改用户基本信息

可以通过usermod 命令修改用户基本信息,包括UID、基本组、附加组等。

修改tom 用户UID 为1500:

[root@localhost ~]# usermod tom -u 1500
[root@localhost ~]# id tom
uid=1500(tom) gid=1001(tom) groups=1001(tom)
[root@localhost ~]#

修改基本组为class01:

[root@localhost ~]# usermod tom -g class01
[root@localhost ~]# id tom
uid=1500(tom) gid=2000(class01) groups=2000(class01)
[root@localhost ~]#

修改附加组为class02:

[root@localhost ~]# groupadd class02
[root@localhost ~]# usermod tom -G class02
[root@localhost ~]# id tom
uid=1500(tom) gid=2000(class01) groups=2000(class01),2001(class02)
[root@localhost ~]#

删除用户

使用userdel 可以删除用户。默认情况下,创建用户的时候,会自动在/home 目录中,创建同名目录作为家目录,删除用户的时候,用户家目录,不会被删除。可以通过-r 选项,在删除用户的同时,删除用户家目录。

删除tom 用户,并删除其家目录:

[root@localhost ~]# ls /home/
wj  tom
[root@localhost ~]# userdel -r tom
userdel: group tom not removed because it is not the primary group of user tom.
[root@localhost ~]# ls /home
wj
[root@localhost ~]# id tom
id: tom: no such user
[root@localhost ~]#

用户密码管理

查看用户密码状态

[root@localhost ~]# passwd -S jerry
jerry LK 2023-09-28 0 99999 7 -1 (Password locked.)
[root@localhost ~]# 

由以上信息可知有 jerry 用户,用户信息如下:

状态值说明
jerry用户名
LK密码状态:
* LK,密码锁定
* NP,没有密码
* PS,有可用密码
2023-09-28创建时间
密码最近一次修改时间
0最短有效期
99999最长有效期
7警告时间:
* 密码过期前7 天警告
-1失效时间:
* -1,表示没有失效时间

补充命令:

passwd -d jerry             删除jerry 用户密码

设置用户密码

[root@localhost ~]# passwd jerry
Changing password for user jerry.
New password: 
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd -S jerry
jerry PS 2023-09-28 0 99999 7 -1 (Password set, SHA512 crypt.)
$6$s5GMa.SD$MzGe/GhtYi1vaFS8TpDiEhgWml3IXsU5liOwBSVh6KdMyUivpWOZpIQST.YPuIf/na33BrIGwXNNr6.Gu7SLJ1:19628:0:99999:7:::
[root@localhost ~]# 

锁定用户

[root@localhost ~]# passwd -S jerry 
jerry PS 2023-09-28 0 99999 7 -1 (Password set, SHA512 crypt.)
[root@localhost ~]# passwd -l jerry 
Locking password for user jerry.
passwd: Success
[root@localhost ~]# passwd -S jerry 
jerry LK 2023-09-28 0 99999 7 -1 (Password locked.)
[root@localhost ~]# grep "jerry" /etc/shadow
jerry:!!$6$s5GMa.SD$MzGe/GhtYi1vaFS8TpDiEhgWml3IXsU5liOwBSVh6KdMyUivpWOZpIQST.YPuIf/na33BrIGwXNNr6.Gu7SLJ1:19628:0:99999:7:::
[root@localhost ~]# 

解锁账户

[root@localhost ~]# passwd -S jerry 
jerry LK 2023-09-28 0 99999 7 -1 (Password locked.)
[root@localhost ~]# passwd -u jerry 
Unlocking password for user jerry.
passwd: Success
[root@localhost ~]# passwd -S jerry 
jerry PS 2023-09-28 0 99999 7 -1 (Password set, SHA512 crypt.)
[root@localhost ~]# grep "jerry" /etc/shadow
jerry:$6$s5GMa.SD$MzGe/GhtYi1vaFS8TpDiEhgWml3IXsU5liOwBSVh6KdMyUivpWOZpIQST.YPuIf/na33BrIGwXNNr6.Gu7SLJ1:19628:0:99999:7:::
[root@localhost ~]# 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值