一、用户基本概述
1.什么是用户
用户就是指能正常登录系统的。例如正常登录Windows系统或者Linux系统的称为用户。
- Windows系统和Linux系统的区别:
本质上都是操作系统,都能够正常的登陆系统,不同的是Windows在同一时刻不允许多个用户同时登陆,而Linux是在同一时刻允许多个用户同时登陆。
PS:在系统中,root为超级管理员,拥有很大的权限,而普通用户只有很小的一部分权限,且多个普通用户在逻辑上被分为一个组,一个用户也可以隶属于多个组。
2.为什么要创建用户
- 系统上运行的每一个进程都需要一个特定的用户去运行。
- 在企业中,超级管理员即root的权限过大,容易引起故障,所以需要使用普通用户管理服务器。
3.如何查看系统中所存在的用户
-
查看当前系统登录的用户信息
[root@wyw ~]# id #查看当前系统所登陆的用户信息 uid=0(root) gid=0(root) groups=0(root) [root@wyw ~]# id jack #查看其他用户的信息 uid=1000(jack) gid=1000(jack) groups=1000(jack)
4.创建的用户在系统中的哪个配置中保存信息
当创建一个用户时,系统会操作/etc/passwd、/etc/shadow这两个文件,变更文件中的内容
[root@wyw ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
root | x | 0 | 0 | root | /root | /bin/bash |
---|---|---|---|---|---|---|
用户名称 | 密码占位符 | 用户UID | 组UID | 注释信息 | 用户家目录 | 登录shell |
[root@bgx ~]# head -1 /etc/shadow
bgx:!!:16312:0:99999:7:2:66275
以:为分隔符,总共分为9列
最后一列为保留列
bgx | !! | 16312 | 0 | 99999 | 7 | 2 | 66275 |
---|---|---|---|---|---|---|---|
用户名称 | 密码为一长串字符,!!表示无密码 | 最近一次变更密码 | 密码最少使用天数 | 密码最长使用天数 | 密码到期前7天提示变更密码 | 密码到期后2天强制提示变更密码 | 账户失效时间 |
5.系统对用户的约定
用户UID | 系统约定的含义 |
---|---|
0 | 超级管理员,最高权限,有着极强的破坏能力 |
1-200 | 系统用户,用来运行系统自带的进程,默认已创建 |
201-999 | 系统用户,用来运行用户安装的程序,此类用户无须登录系统 |
1000+ | 普通用户,正常可以登录系统的用户,权限比较小,能执行的任务有限 |
二、用户相关命令
-
useradd添加用户
选项: -u 指定要创建用户的UID,不允许冲突 -g 指定要创建用户默认组(基本组 主要的组) -G 指定用户要创建用户附加组,逗号隔开可添加多个附加组 -d 指定要用户创建家目录 -s 指定要创建用户的bash shell (bin/bash sbin/nologin) -c 指定要创建用户注释信息 -M 给创建的用户不创建家目录 -r 创建系统用户,默认无家目录 [200-999]
PS:UID GID在整个系统是惟一的
例如:创建一个自己名字的用户,UID为2020,基本组为自己名字,附加组为sa,注释信息:2022 new 登录shell
[root@wyw ~]# groupadd wangyanwen
[root@wyw ~]# useradd wangyanwen -u 2020 -g wangyanwen -G sa -c "2022 new" -s /bin/bash
[root@wyw ~]# id wangyanwen
uid=2020(wangyanwen) gid=10001(wangyanwen) groups=10001(wangyanwen),1002(sa)
[root@wyw ~]# grep "wangyanwen" /etc/passwd
wangyanwen:x:2020:10001:2022 new:/home/wangyanwen:/bin/bash
[root@wyw ~]# grep "wangyanwen" /etc/shadow
wangyanwen:!!:18113:0:99999:7:::
-
usermod修改用户
选项 -u 指定要创建用户的UID,不允许冲突 -g 指定要创建用户默认组(基本组 主要的组) -G 指定用户要创建用户附加组,逗号隔开可添加多个附加组 -d 指定要用户创建家目录 -s 指定要创建用户的bash shell (bin/bash sbin/nologin) -c 指定要创建用户注释信息 -l 指定要修改用户的登录名 -L 指定要锁定的用户 -U 指定要解锁的用户 ------------------------------------------------------------------------------------------ 例如:修改wangyanwen用户的注释信息,用户家目录,登录shell,登录名为wang [root@wyw ~]# usermod wangyanwen -c "wangyanwen" -md /home/wangyw -s /bin/bash -l wang [root@wyw ~]# grep "wang" /etc/passwd wang:x:2020:10001:wangyanwen:/home/wangyw:/bin/bash
-
userdel删除用户
选项 -r 删除用户同时删除它的家目录 (慎用)
例如:删除wang用户同时删除它的家目录 [root@wyw ~]# userdel -r wang
网友评论