一、用户的信息文件
- 用户的基本信息文件:/etc/passwd
- 用户的密码信息文件:/etc/shadow
- 用户的组信息文件:/etc/group
1.用户基本信息
查看/etc/passwd文件中的内容
# 由于文件中信息比较多,在这里以一行信息进行描述
[Xuhy@localhost ~]$ head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
# 其中以“:”进行分割,每个字符串代表不同的含义
# root:用户名
# x:密码占位符
# 0:用户的id(uid),其中系统约定 uid 0:表示特权用户;uid 1~499:表示系统用户;uid 1000+:表示普通用户
# 0:用户的组id(gid)
# root:用户的描述
# /root:家目录,用户登录系统时所在的目录,root用户家目录为/root,普通用户为/home
# /bin/bash:登录shell,命令解释器 shell功能:命令解释器,用来定义命令、接受命令、执行命令 如果为/bin/nologin,则表示禁止登陆
2.用户密码信息
查看/etc/shadow文件中的内容
[root@localhost Xuhy]# head -1 /etc/shadow
root:$6$t91H0yc/1kxvBP6p$TR5oeEkc3FOuCiY9Xe6vGCKW6l76UpZD6rXmc36QcPntUbkdcdDEdEjEzuPqQMEH8sLZCF8lpmF9ocfkbaMQH.::0:99999:7:::
# 以“:”进行分割,每个字符串代表不同的含义
# 分别表示用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
3.用户组信息
查看/etc/group文件中的内容
[root@localhost Xuhy]# head -1 /etc/group
root:x:0:
# “:”进行分割,每个字符串代表不同的含义
# 分别表示组名:组密码:组id:组中的用户
二、用户管理命令
1.创建用户
创建用户时,默认会在/home目录生成一个和用户名同名的用户的家目录
useradd [用户名] 或者 adduser [用户名]
[root@localhost Xuhy]# useradd user01
[root@localhost Xuhy]# tail -1 /etc/passwd
user01:x:1001:1001::/home/user01:/bin/bash
[root@localhost Xuhy]# ll /home
总用量 4
drwx------. 3 alice alice 78 8月 29 17:50 alice
drwx------. 3 jack jack 78 8月 29 17:50 jack
drwx------. 5 user01 user01 128 8月 28 14:12 user01
drwx------. 3 user03 user03 78 8月 28 16:19 user03
drwx------. 3 user05 user05 78 10月 8 17:29 user05
drwx------. 3 1006 1009 78 10月 8 17:29 user06
drwx------. 17 Xuhy Xuhy 4096 10月 8 17:41 Xuhy
2.查看用户
语法: id [用户名]
[root@localhost Xuhy]# id user01
uid=1001(user01) gid=1001(user01) 组=1001(user01)
3.删除用户
语法: userdel -[选项] [用户名]
[root@localhost ~]# tail -n 1 /etc/passwd
user03:x:1500:1500::/home/user03:/bin/bash
[root@localhost ~]# userdel -r user03
# -r表示删除用户的主目录和邮件池
[root@localhost ~]# tail -n 1 /etc/passwd
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
4.修改密码
语法: passwd [用户名]
[root@localhost Xuhy]# passwd user01
更改用户 user01 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
# linux中密码为不可见,直接输入即可
5.修改用户
usermod:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等
语法: usermod -[选项] [用户名]
# 下面为修改用户的家目录的示例
[root@localhost user01]# usermod -s /sbin/nologin user01
[root@localhost user01]# su user01
This account is currently not available.
6.切换用户
su:表示切换用户
su [用户名] 切换到目标用户,只能获取到目标用户的执行权限,不能获取到目标用户的环境变量
su -[用户名] 切换到目标用户,获取目标用户的执行权限和环境变量
# 分别使用su命令和su -命令,查看环境变量信息
[Xuhy@localhost ~]$ su Xuhy
[Xuhy@localhost ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/Xuhy/.local/bin:/home/Xuhy/bin
[Xuhy@localhost ~]$ su - Xuhy
密码:
上一次登录:二 10月 8 18:12:39 CST 2024pts/0 上
[Xuhy@localhost ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/Xuhy/.local/bin:/home/Xuhy/bin