Day 003:文件操作与权限管理

目录

一、理论学习

1. Linux文件权限基础

2. chmod 755 含义

3. sudo 提权风险

二、实操演练(1.5小时)

1. 创建文件并修改权限

2. 模拟多用户环境

3. 分析文件权限链

三、复习巩固(0.5小时)

1. 权限对照表

2. 快速计算技巧

四、总结


 

一、理论学习

1. Linux文件权限基础
  • 权限分类与操作
    • 用户(User):文件所有者,拥有最高控制权。
    • 组(Group):文件所属用户组,用于共享权限。
    • 其他(Others):系统其他用户,默认无特殊权限。
    • 操作含义
      • r(读):文件可查看内容(如cat),目录可列出文件(ls)。
      • w(写):文件可修改内容,目录可创建/删除子文件。
      • x(执行):文件可运行(如脚本),目录可进入(cd)。
  • 数值表示法
    • 权限值 = 用户值 + 组值 + 其他值(每类权限独立计算)。
    • 示例:
      • rwxr-xr-- → 用户7(4+2+1),组5(4+0+1),其他4(4+0+0)。
      • 常用组合:755(公共可执行)、644(只读文件)、700(完全私有)。
2. chmod 755 含义
  • 用户权限7rwx),可读、写、执行。
  • 组权限5r-x),可读、执行,但不可写(防止误修改)。
  • 其他权限5r-x),同组权限(允许运行但禁止修改)。
  • 典型场景
    • 脚本文件(如/usr/local/bin下的程序),确保所有者可维护,其他用户可执行。
    • 公共目录(如网站根目录),允许访问但限制修改。
3. sudo 提权风险
  • 功能:以root权限执行命令(如安装软件、修改系统配置)。
  • 风险
    • 误操作sudo rm -rf /(删除所有文件)或sudo dd if=/dev/zero of=/dev/sda(覆盖硬盘)。
    • 恶意命令:未经验证的脚本可能通过sudo植入后门或窃取数据。
  • 最佳实践
    • 最小权限原则:仅授予必要权限(如通过visudo限制用户只能执行特定命令)。
    • 审计日志:启用/var/log/auth.log记录所有sudo操作。
    • 替代方案:使用su切换到专用管理账号,而非直接使用root
二、实操演练(1.5小时)
1. 创建文件并修改权限

touch secret.txt          # 创建空文件


chmod 600 secret.txt      # 设置权限:用户读写,组和其他无权限


ls -l secret.txt          # 验证权限:-rw-------
 

2. 模拟多用户环境

udo useradd tester       # 创建新用户tester


su - tester               # 切换到tester用户


# 尝试访问secret.txt(应失败,因权限为600)


cat /home/当前用户/secret.txt  # 提示权限拒绝


exit                      # 退出tester用户
 

3. 分析文件权限链

# 创建嵌套目录结构
mkdir -p /tmp/testdir/subdir
echo "test" > /tmp/testdir/subdir/file.txt
 
# 使用namei分析权限链
namei -l /tmp/testdir/subdir/file.txt

 

  • 输出解析

f: /tmp/testdir/subdir/file.txt
drwxrwxrwt root root /tmp
drwxr-xr-x root root testdir
drwxr-xr-x user user subdir
-rw-r--r-- user user file.txt
 

逐层检查目录权限,确保路径中每个目录至少有x权限(允许进入)。

  • 关键点
    • 目录必须至少有x权限,否则无法进入(即使有r权限)。
    • 粘滞位(t)在/tmp中防止用户删除其他用户的文件。
三、复习巩固(0.5小时)
1. 权限对照表

权限类别

读(r)

写(w)

执行(x)

数字组合

用户

4

2

1

7(4+2+1)

4

0

1

5(4+0+1)

其他

0

0

0

0

  • 组合示例
    • 755 → 用户(rwx), 组(r-x), 其他(r-x)。
    • 644 → 用户(rw-), 组(r--), 其他(r--)。
    • 700 → 用户(rwx), 组(---), 其他(---)(完全私有)。
2. 快速计算技巧
  • 用户权限:直接对应数字(如rwx=7,rw-=6)。
  • 组和其他权限:按需叠加(如r-x=5,r--=4)。
  • 记忆口诀
    • 4读,2写,1执行,总和即权限值。
    • 常用组合:7(全开)、6(读写)、5(读执行)、4(只读)。
四、总结
  • 核心目标:通过权限控制实现“最小权限原则”,即仅授予必要权限,平衡安全性与易用性。
  • 常见错误
    • 过度开放权限(如777导致数据泄露)。
    • 忽略目录执行权限(无法进入目录但可列出文件)。
  • 进阶建议
    • ACL(访问控制列表):使用setfacl实现更细粒度控制(如按用户/组单独设置权限)。
    • 权限审计:定期运行ls -lR /path | grep -E '777|666'检查高风险权限。
    • 自动化工具:使用ansiblepuppet统一管理权限策略,避免人为错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值