【操作系统安全】任务6:Linux 系统文件与文件系统安全 学习指南

目录

一、文件系统基础概念

二、查看文件系统信息

[2.1 磁盘空间查看](#2.1 磁盘空间查看)

[2.2 分区与挂载管理](#2.2 分区与挂载管理)

[2.3 文件系统类型操作](#2.3 文件系统类型操作)

三、文件系统权限配置

[3.1 基础权限管理](#3.1 基础权限管理)

[3.2 所有权管理](#3.2 所有权管理)

[3.3 特殊权限设置](#3.3 特殊权限设置)

四、文件操作基础

[4.1 文件创建](#4.1 文件创建)

[4.2 文件删除](#4.2 文件删除)

[4.3 文件复制与移动](#4.3 文件复制与移动)

[4.4 文件编辑](#4.4 文件编辑)

五、高级文件管理

[5.1 链接管理](#5.1 链接管理)

[5.2 查找与搜索](#5.2 查找与搜索)

[5.3 压缩与归档](#5.3 压缩与归档)

六、权限管理进阶

[6.1 ACL 访问控制列表](#6.1 ACL 访问控制列表)

[6.2 权限掩码设置](#6.2 权限掩码设置)

[6.3 安全增强配置](#6.3 安全增强配置)

七、实战案例

[7.1 网站目录权限配置](#7.1 网站目录权限配置)

[7.2 日志文件管理](#7.2 日志文件管理)

[7.3 系统备份方案](#7.3 系统备份方案)

八、常见问题处理

[8.1 权限拒绝问题](#8.1 权限拒绝问题)

[8.2 文件误删恢复](#8.2 文件误删恢复)

[8.3 文件系统修复](#8.3 文件系统修复)

九、总结与最佳实践

CSDN 原创主页:不羁https://blog.csdn.net/2303_76492156?type=blog


一、文件系统基础概念

Linux 文件系统采用树形结构,以根目录 / 为起点,所有文件和目录都挂载在这个树状结构上。理解文件系统的关键概念包括:

  • inode:存储文件元数据(权限、大小、创建时间等)
  • block:实际存储文件数据的磁盘块
  • 挂载点:文件系统在目录树中的接入位置

二、查看文件系统信息

2.1 磁盘空间查看

复制代码
# 查看所有挂载点的磁盘使用情况
df -h

# 查看指定目录的磁盘占用
du -sh /var/log

# 显示inode使用情况
df -i

2.2 分区与挂载管理

复制代码
# 查看系统分区信息
lsblk

# 挂载新分区
mount /dev/sdb1 /mnt/data

# 自动挂载配置(修改/etc/fstab)
/dev/sdb1       /mnt/data   ext4    defaults        0 0

# 卸载分区
umount /mnt/data

2.3 文件系统类型操作

复制代码
# 创建ext4文件系统
mkfs.ext4 /dev/sdb1

# 检查文件系统错误
fsck /dev/sdb1

三、文件系统权限配置

3.1 基础权限管理

复制代码
# 查看文件权限
ls -l file.txt

# 修改权限(ugo=rwx)
chmod 777 file.txt

# 递归修改目录权限
chmod -R 755 /var/www

# 符号模式修改权限
chmod u+w,g-x,o=r file.txt

3.2 所有权管理

复制代码
# 修改文件所有者
chown user file.txt

# 修改文件所属组
chgrp staff file.txt

# 递归修改目录所有权
chown -R user:staff /var/www

3.3 特殊权限设置

复制代码
# 设置SUID权限(允许普通用户以所有者权限运行)
chmod u+s /usr/bin/passwd

# 设置SGID权限(强制继承目录组)
chmod g+s /var/log

# 设置粘滞位(防止非所有者删除文件)
chmod +t /tmp

四、文件操作基础

4.1 文件创建

复制代码
# 空文件创建
touch empty.txt

# 创建带内容的文件
echo "Hello Linux" > greet.txt

# 创建多文件
touch file{1..5}.txt

4.2 文件删除

复制代码
# 删除单个文件
rm file.txt

# 强制删除只读文件
rm -f readonly.txt

# 递归删除目录
rm -rf /tmp/testdir

4.3 文件复制与移动

复制代码
# 复制文件
cp source.txt /dest/

# 保留属性复制
cp -a /etc /backup/

# 移动文件(重命名)
mv oldname.txt newname.txt

# 递归移动目录
mv /var/log /backup/

4.4 文件编辑

复制代码
# 使用vim编辑文件
vim config.conf

# 插入模式:按i
# 保存退出::wq

# 使用nano简单编辑
nano notes.txt

# 快速替换文本
sed -i 's/old/new/g' file.txt

五、高级文件管理

5.1 链接管理

复制代码
# 创建硬链接
ln file.txt hardlink.txt

# 创建软链接
ln -s /var/log symlink_log

# 查看链接信息
ls -li

5.2 查找与搜索

复制代码
# 按名称查找文件
find / -name "*.log"

# 按权限查找文件
find / -perm 777

# 快速查找命令(需要更新数据库)
locate passwd
updatedb

5.3 压缩与归档

复制代码
# 创建tar包
tar -cvf backup.tar /etc

# 创建gzip压缩包
tar -zcvf backup.tar.gz /var

# 解压tar.gz文件
tar -zxvf backup.tar.gz

# 其他压缩格式
gzip file.txt
gunzip file.txt.gz

六、权限管理进阶

6.1 ACL 访问控制列表

复制代码
# 查看ACL设置
getfacl file.txt

# 赋予用户读写权限
setfacl -m u:user:rw- file.txt

# 递归设置ACL
setfacl -R -m u:user:r-x /var/www

# 删除ACL
setfacl -x u:user file.txt

6.2 权限掩码设置

复制代码
# 查看当前umask
umask

# 临时修改umask
umask 0022

# 永久修改(在~/.bashrc中添加)
echo "umask 0022" >> ~/.bashrc

6.3 安全增强配置

复制代码
# 设置文件不可修改
chattr +i important.conf

# 查看特殊属性
lsattr important.conf

# 移除不可修改属性
chattr -i important.conf

七、实战案例

7.1 网站目录权限配置

复制代码
# 创建网站目录
mkdir -p /var/www/mysite

# 设置所有者和组
chown -R www-data:www-data /var/www/mysite

# 设置权限
chmod -R 750 /var/www/mysite
chmod g+s /var/www/mysite

7.2 日志文件管理

复制代码
# 每日归档日志
find /var/log -type f -name "*.log" -mtime +7 -exec tar -zcvf /backup/log_$(date +%Y%m%d).tar.gz {} \;

# 自动清理旧日志
find /var/log -type f -name "*.log" -mtime +30 -delete

7.3 系统备份方案

复制代码
# 全量备份脚本
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR="/backup/full_$DATE"
mkdir -p $BACKUP_DIR
rsync -aAX --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / $BACKUP_DIR

八、常见问题处理

8.1 权限拒绝问题

复制代码
# 检查文件权限
ls -ld /var/www

# 切换用户执行
sudo chown user /var/www/file.txt

8.2 文件误删恢复

复制代码
# 使用extundelete恢复(需安装)
extundelete /dev/sda1 --restore-file /etc/passwd

# 备份恢复
cp /backup/old/passwd /etc/

8.3 文件系统修复

复制代码
# 强制检查文件系统
fsck -f /dev/sdb1

# 单用户模式修复
mount -o remount,ro /
fsck -y /dev/sdb1

九、总结与最佳实践

  1. 权限最小化原则:只赋予必要的读写执行权限
  2. 定期备份:重要数据至少保留 3 份
  3. 特殊权限审计:每月检查 SUID/SGID 文件
  4. 使用 ACL 精细控制:针对复杂权限需求
  5. 文件系统监控:设置磁盘空间预警阈值
  6. 使用版本控制:对配置文件使用 git 管理

通过本指南的学习,读者能够掌握 Linux 文件系统的核心操作,从基础文件管理到高级权限控制,从日常维护到灾难恢复,全面提升系统管理能力。建议结合实际环境进行操作练习,加深理解和记忆。

相关推荐
PWRJOY7 分钟前
Ubuntu磁盘空间分析:du命令及常用组合
linux·运维·ubuntu
ASDyushui18 分钟前
Shell 编程之正则表达式与文本处理器
linux·正则表达式
wanhengidc24 分钟前
SCDN能够运用在物联网加速当中吗?
运维·服务器·网络
leona_nuaa38 分钟前
p2p虚拟服务器
服务器·网络协议·p2p
zuozewei1 小时前
安全扫描之 Linux 杀毒软件 Clamav 安装
linux·运维·安全
wangchen_01 小时前
linux-信号保存和处理
linux·运维·服务器
Eric.Lee20211 小时前
conda 输出指定python环境的库 输出为 yaml文件
linux·python·conda
Chandler241 小时前
Go 语言 net/http 包使用:HTTP 服务器、客户端与中间件
服务器·http·golang
z人间防沉迷k1 小时前
互联网协议的多路复用、Linux系统的I/O模式
linux·网络·http
独行soc1 小时前
2025年渗透测试面试题总结-渗透测试红队面试九(题目+回答)
linux·安全·web安全·网络安全·面试·职场和发展·渗透测试