10磁盘和文件系统管理
10.1.1 磁盘和文件系统管理
1.mkfs 的使用
一基本语法
mkfs [选项] [-t 文件系统类型] [设备名] [大小]
-t
:指定文件系统类型(如 ext4、xfs、vfat 等),默认值为 ext2
-V
:显示详细操作过程
-c
:在创建文件系统前检查坏块
-L
:设置文件系统标签(如 -L "DATA"
)
-f
:强制格式化,即使设备已存在文件系统
二典型使用场景与示例
-
创建 ext4 文件系统
sudo mkfs -t ext4 /dev/sdb1 # 通用写法 sudo mkfs.ext4 /dev/sdb1 # 直接调用工具(效果相同)
10.2.1 LVM 逻辑卷管理
一、物理卷(PV)管理
创建物理卷
pvcreate /dev/sdb1 # 将分区/dev/sdb1初始化为PV pvcreate /dev/sdc # 将整个磁盘/dev/sdc初始化为PV
查看物理卷信息
Bashpvs # 简要查看所有PV pvdisplay /dev/sdb1 # 显示指定PV的详细信息
删除物理卷
pvremove /dev/sdb1 # 删除PV的元数据
二、卷组(VG)管理
-
创建卷组
vgcreate myvg /dev/sdb1 /dev/sdc1 # 将多个PV组合为卷组myvg
-
扩展卷组
vgextend myvg /dev/sdd1 # 添加新PV到卷组
-
缩减卷组
vgreduce myvg /dev/sdb1 # 从卷组移除指定PV(需确保PV未被使用)
-
查看卷组信息
vgs # 简要查看所有VG vgdisplay myvg # 显示卷组详细信息
三、逻辑卷(LV)管理
-
创建逻辑卷
lvcreate -L 10G -n mylv myvg # 在myvg中创建10G的逻辑卷mylv lvcreate -l 100%FREE -n data_lv myvg # 占用卷组全部剩余空间
-
扩展逻辑卷
lvextend -L +5G /dev/myvg/mylv # 增加5G容量 lvextend -l +100%FREE /dev/myvg/mylv # 占用全部剩余空间
-
缩减逻辑卷(需卸载且谨慎操作)
lvreduce -L 15G /dev/myvg/mylv # 缩减至15G
-
删除逻辑卷
lvremove /dev/myvg/mylv # 删除逻辑卷
四、文件系统操作
-
格式化逻辑卷
mkfs.ext4 /dev/myvg/mylv # 格式化为ext4文件系统 mkfs.xfs /dev/myvg/mylv # 格式化为XFS文件系统
-
扩展文件系统(扩容后必须执行)
resize2fs /dev/myvg/mylv # ext4文件系统调整 xfs_growfs /dev/myvg/mylv # XFS文件系统调整
五、查看与扫描命令
-
扫描存储结构
pvscan # 扫描所有物理卷 vgscan # 扫描所有卷组 lvscan # 扫描所有逻辑卷
-
查看详细信息
pvdisplay # 显示所有PV的详细信息 vgdisplay # 显示所有VG的详细信息 lvdisplay # 显示所有LV的详细信息
10.3.1 磁盘配额
永久生效: 编辑 /etc/fstab
,在对应分区的挂载选项中添加 usrquota,grpquota
(EXT4)或 prjquota
(XFS目录配额)
-
-
/dev/sdb1 /mnt/data ext4 defaults,usrquota,grpquota 0 0
-
11系统安全和应用
11.1.1su和sudo区别
特性 | su | sudo |
---|---|---|
权限验证 | 需输入目标用户(如 root)的密码 | 需输入当前用户的密码 |
权限范围 | 切换用户后拥有目标用户的全部权限 | 可限制仅执行特定命令(通过 /etc/sudoers 配置) |
环境变量 | 默认不加载目标用户的完整环境变量(需加 - 参数) | 继承当前用户环境变量 |
日志记录 | 无详细日志记录 | 记录执行者、时间和命令(便于审计) |
适用场景 | 需长时间以其他用户身份操作 | 临时执行需要特权的单个命令 |
命令详解
-
su
(Switch User)
-
功能:完全切换用户身份,默认切换到 root。
-
用法:
su [选项] [用户名]
-
示例
-
su
:切换到 root,需输入 root 密码。 -
su -
或su - root
:切换到 root 并加载其完整环境变量(如.bashrc
)。 -
su - user1
:切换到user1
并加载其环境变量。
-
-
-
特点:
-
安全性较低:需共享 root 密码,适合单用户环境。
-
环境变量:不加
-
参数时,当前目录和环境变量不变,可能导致命令无法正确执行
2.
sudo
(Super User Do)-
功能:以 root 或其他用户身份临时执行特定命令。
-
用法:
sudo [选项] [命令]
-
示例
-
sudo apt update
:以 root 权限更新软件包列表。 -
sudo -u user1 ls /home
:以user1
身份执行命令。
-
-
-
特点:
-
细粒度控制:通过
/etc/sudoers
配置文件限制用户可执行的命令。 -
免密操作:可配置
NOPASSWD
选项免输密码。 -
安全审计:日志保存在
/var/log/auth.log
(记录执行者、时间和命令)
-
-
11.1.2密码有效期管理
. 密码有效期管理
-
最大使用天数:通过
/etc/login.defs
中的PASS_MAX_DAYS
设置(例如90天强制更换密码) -
过期警告:
PASS_WARN_AGE=7
表示密码过期前7天提醒用户 -
最小修改间隔:
PASS_MIN_DAYS=15
防止用户频繁修改密码
11.1.3自动清空历史命令的方法
通过 ~/.bashrc
配置退出时触发清理
-
编辑用户配置文件:
nano ~/.bashrc
-
在文件末尾添加以下内容:
# 退出时清空内存中的历史记录并同步到文件 trap 'history -c; history -w' EXIT
-
原理:
history -c
清空内存中的记录,history -w
将空记录覆盖写入.bash_history
文件
-
-
使配置生效:
source ~/.bashrc
通过 ~/.bash_logout
注销脚本
利用系统在用户注销时自动执行 ~/.bash_logout
的特性,添加清理命令。 操作步骤:
-
创建或编辑注销脚本:
nano ~/.bash_logout
输入以下内容:
# 清空当前会话历史并删除历史文件 history -c && rm -f ~/.bash_history
-
特点:彻底删除历史文件,避免残留
11.2.1 su和sudo权限的授权
. 通过用户组授权(推荐)
CentOS/RHEL:将用户加入 wheel
组
sudo usermod -aG wheel <用户名>
原理:/etc/sudoers
默认允许 sudo
或 wheel
组成员执行所有命令
-
直接编辑
/etc/sudoers
文件
-
使用visudo命令安全编辑(避免语法错误):
sudo visudo
添加规则(格式:用户 主机=(角色) 命令
):
Bashusername ALL=(ALL:ALL) ALL # 允许用户以任何身份执行所有命令 %groupname ALL=(ALL) NOPASSWD: /usr/bin/apt # 允许用户组免密执行特定命令
注意:NOPASSWD
参数会降低安全性,需谨慎使用
11.2.2禁用 Ctrl+Alt+Del 组合键
-
屏蔽
ctrl-alt-del.target
服务
通过 systemctl
命令直接禁用该快捷键关联的服务:
Bashsystemctl mask ctrl-alt-del.target # 永久禁用 systemctl daemon-reload # 重新加载配置
恢复方法:
systemctl unmask ctrl-alt-del.target # 解除禁用
此方法无需修改文件,通过服务管理实现,安全且可逆
11.3.1 nmap 参数
端口扫描
-
检测目标主机的端口开放状态,支持多种协议和扫描方式:
-
TCP SYN扫描(-sS):半开扫描,速度快且隐蔽,需Root权限。
-
TCP全连接扫描(-sT):完整握手,易被日志记录。
-
UDP扫描(-sU):探测UDP端口状态,但可靠性较低。
-
隐蔽扫描(-sF/-sN/-sX):使用FIN、Null或Xmas包绕过防火墙。
-
-
端口状态分类:开放(open)、关闭(closed)、过滤(filtered)、未过滤(unfiltered)
二、常用参数与技巧
-
加速扫描
-
-T4
:设置高时序加速扫描。 -
-F
:快速模式,仅扫描常见端口。
-
-
绕过防火墙/IDS
-
-f
:分片数据包规避检测。 -
-D
:IP伪装(诱骗扫描)。 -
--mtu
:自定义数据包大小。
-
-
输出与日志
-
-oN
:生成文本报告。 -
-oX
:生成XML格式文件,便于工具解析。
-
-
全面扫描
-
-A:启用OS检测、服务版本探测和脚本扫描。
nmap -A -T4 192.168.1.100
-