# 概念
用户在`Linux`系统中,是一个非常重要的组成部分,用户和权限是分不开的,在Linux中,可以给不同的用户分配不同的用户组,不同的用户组又可以有不同的权限。
# passwd 文件
讲到用户,首先就要提到`/etc/passwd`这个文件,这个文件中保存了本机所有的用户信息,每一行为一个用户信息,而每一行又分了7列,每列之间用冒号`:`分隔:
```
root:x:0:0:root:/root:/bin/bash
```
以上内容解释:
| 列 | 内容 | 含义 |
| --- | --- |--- |
| 1 | root | 用户名,用户登录系统时使用的用户名 |
| 2 | x| 密码,此处为密码占位,密码在/etc/shadow文件中存储 |
| 3 | 0 | UID,用户身份标识:0->特权用户;1-499->系统用户,1000+->普通用户 |
| 4 | 0| GID,用户组标识号 |
| 5 | root | 注释性描述,如存放用户全名等信息 |
| 6 | /root | 用户家目录,用户登录系统后的默认位置 |
| 7 | /bin/bash
| 命令解释器, 用户使用的Shell,默认为bash |
# shadow文件
此文件的位置为 /etc/shadow,存储的是用户的密码相关信息,一共分9列,每列之间用冒号`:`分隔:
~~~
root:$6$ct1EIPIsz7W/6t.f$26lwYx3iroCq9cIvmHYhb.o3ZzXfeemEhch/nl8yupczfcMVRi70mOvbTP8POtOysTn/jhYWFReUwlnY0EYJ7/::0:99999:7:::
~~~
以上内容解释:
| 列 | 内容 | 含义 |
| --- | --- |--- |
| 1 | root | 用户名,同 `/etc/passwd` 文件的用户名有相同的含义 |
| 2 | $6$ct1EIPIsz7W/6t.f$26lwYx3iroCq9cIvmHYhb.o3ZzXfeemEhch/nl8yupczfcMVRi70mOvbTP8POtOysTn/jhYWFReUwlnY0EYJ7/ | 加密后的密码,其中密码又分为三部分,分别用$分隔,第一部分代表加密的方式(1表示MD5加密,密文长度22,5表示SHA-256加密,密文长度43,6代表SHA-512加密,密文长度86),第二部分为用于加密哈希的salt,第三部分为已加密的哈希 ,此字段有时也可能为!!或*,表示没有密码或密码已过期,是不能登录的系统的 |
| 3 | | 最后一次修改时间,此值为1970年1月1日至最后一次修改密码时的间隔天数 |
| 4 | 0 | 最小修改时间间隔,也就是说,该字段规定了从第 3 字段(最后一次修改密码的日期)起,多长时间之内不能修改密码。如果是 0,则密码可以随时修改;如果是 10,则代表密码修改后 10 天之内不能再次修改密码。|
| 5 | 99999 | 密码有效期,经常变更密码是个好习惯,为了强制要求用户变更密码,这个字段可以指定距离第 3 字段(最后一次更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段 |
| 5 | 7 | 密码需要变更前的警告天数,与第 5 字段相比较,当账户密码有效期快到时,系统会发出警告信息给此账户,提醒用户 "再过 n 天你的密码就要过期了,请尽快重新设置你的密码!"。 |
| 6 | | 密码过期后的宽限天数,也称为“口令失效日”,简单理解就是,在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用。 |
| 7| | 失效时间, 字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。 |
| 8 | | 账号失效时间,同第 3 个字段一样,使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!|
| 9 | | 保留,暂时没有特别意义|
# group
此文件的位置为 `/etc/group`,存储的为用户组信息,一共分4列,如下:
~~~
root:x:0:
~~~
以上内容解释:
| 列 | 内容 | 含义 |
| --- | --- |--- |
| 1 | root | 用户名,同 /etc/passwd 文件的用户名有相同的含义 |
| 2 | x | 组密码,通常用不上 |
| 3 | 0 | 用户组ID |
| 4 | | 组成员,当前用户组下的成员信息 |
- 序言
- Linux 的安装
- VMware 的安装
- VMware 的配置
- CentOS 下载与虚拟机硬件配置
- Linux 的分区
- ContOS 安装
- 虚拟机网络配置
- 远程连接工具安装
- 基础(旧)
- Linux 和 Windows 的区别
- 目录结构
- 注意事项
- Linux的常用命令
- 用户及用户组
- 文件及权限
- 目录与文件权限的意义
- 文件及目录管理相关
- 常用命令
- 系统安装
- Linux的简介
- Linux 各发行版介绍
- CentOS的部署
- 基础
- 文件和用户管理
- Linux目录结构
- 文件管理相关
- cd 切换目录
- pwd 显示当前位置
- ls 列出目录下的文件和子目录
- touch 创建文件
- mkdir 创建目录
- cp 复制文件/目录
- mv 移动或改名文件/目录
- rm 删除文件/目录
- chattr 改变文件属性
- lsattr 显示文件属性
- 用户管理
- useradd 添加用户
- passwd 修改用户密码
- id 查看用户ID信息
- userdel 删除用户
- usermod 修改用户信息
- groupadd 创建用户组
- groupdel 删除用户组
- su 切换用户帐号
- sudo 以管理员的身份执行命令
- 权限管理
- chmod 修改文件/目录权限
- chown 修改文件拥有者或所属组
- chgrp 修改文件所属组
- setfacl 设置文件权限列表
- getfacl 查看文件权限列表
- vim的使用
- 进程管理
- ps 查看进程
- top 动态显示进程
- kill 杀死进程
- nice 修改进程优先级
- jobs 显示后台任务列表及任务状态
- fg 将后台运行的进程调整至前台运行
- bg 将在后台暂停进行继续执行
- 磁盘管理
- lsblk 列出块设备信息
- fdisk 磁盘分区
- partprobe 重新读取分区表
- mkfs 建立文件系统(格式化)
- mont 挂载设备
- df 查看磁盘使用情况
- unount 卸载挂载设备
- 交换空间 swap
- free 查看内存使用状态
- mkswap 设置交换分区
- swapon 激活交换空间
- LVM逻辑卷管理
- LMV的工作原理
- pvcreate 创建物理卷
- pvs 查看物理卷
- pvscan 查看每个PV的信息
- pvdisplay 显示物理卷详细信息
- vgcreate 创建卷组
- vgs 查看卷组
- vgscan 查看每个VG的信息
- vgdisplay 显示卷组详细信息
- lvcreate 创建逻辑卷
- vgextend 扩展卷组空间
- lvextend 扩展逻辑卷空间
- resize2fs 调整文件系统大小
- RAID
- 文件查找和压缩
- which 命令查找
- find 根据文件名查找文件
- locate 查找文件
- tar 文件打包
- 软件安装
- RPM包管理
- yum 安装软件
- rpm 安装软件
- 源码包管理
- 计划任务
- at 一次性计划任务
- cron 循环任务
- 日志系统
- 网络管理
- ip 显示或设置网络设备
- OSI简介