首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux系统沦陷只需1分钟?这些文件权限配置千万别踩坑!

在 Linux 系统中,文件权限是保护数据安全和控制用户访问的基础。作为一名从业者,深入了解文件权限的运作机制对于发现错误配置至关重要,而这些配置可能导致权限提升或数据泄露。

本文将深入探讨 Linux 文件权限的细节,包括如何查看、修改和在渗透测试中利用文件权限,结合实际案例和命令,助你全面掌握这一关键技能。

1. Linux 文件权限概述

Linux 采用基于权限的模型来控制文件和目录的访问。每个文件或目录都有三个关键组成部分:

所有者(Owner):文件的所有者。

组(Group):共享文件访问权限的用户组。

其他用户(Others):系统中的其他用户。

权限类别

读(r):允许读取文件或列出目录内容。

写(w):允许修改文件或目录内容。

执行(x):允许执行文件或访问目录。

权限表示法

权限以 10 个字符的字符串形式展示:

-rwxr-xr--

第一个字符:文件类型(-表示文件,d表示目录)。

接下来的 3 个字符:所有者的权限(rwx)。

再接下来的 3 个字符:用户组的权限(r-x)。

最后 3 个字符:其他用户的权限(r--)。

2. 查看文件权限

2.1 使用ls命令

ls -l

说明:显示文件的详细列表,包括权限、所有权和大小等信息。

示例输出

-rw-r--r-- 1 alice staff 1024 Sep 12 12:00 example.txt

-rw-r--r--:表示所有者有读写权限,组用户和其他用户只有读权限。

2.2 使用stat命令

stat example.txt

用途:提供文件的详细元数据,包括权限的数字格式。

示例输出

Access: 0644 (-rw-r--r--)

3. 修改文件权限

3.1 使用chmod修改权限

chmod命令用于更改文件权限。

语法

chmod [权限] [文件]

示例

赋予所有者执行权限

chmod u+x example.txt

u:表示所有者(user)。+x:添加执行权限。

移除其他用户的写权限

chmod o-w example.txt

使用八进制设置权限

  chmod 750 example.txt

750:所有者有读、写、执行权限;组用户有读和执行权限;其他用户无权限。

3.2 使用chown修改所有权

chown命令用于修改文件的所有者和组。

语法

chown [所有者]:[组] [文件]

示例

chown alice:staff example.txt

将文件的所有者改为alice,组改为staff。

4. 常见错误配置与利用方法

4.1 世界可写文件

具有其他用户写权限的文件(-rw-rw-rw-)容易被篡改。

查找世界可写文件

find / -type f -perm -o+w 2>/dev/null

渗透测试场景:可以查找敏感文件(如配置文件或脚本),利用错误配置进行攻击。

4.2 SUID 和 SGID 权限

SUID(Set-User-ID):用户执行文件时,具有文件所有者的权限。

SGID(Set-Group-ID):用户执行文件时,具有文件用户组的权限。

查找 SUID 文件

find / -perm -4000 -type f 2>/dev/null

查找 SGID 文件

find / -perm -2000 -type f 2>/dev/null

示例利用

如果一个 SUID 二进制文件存在漏洞且可写:

cp /bin/bash /tmp/bash

chmod u+s /tmp/bash

/tmp/bash

如果该文件由 root 拥有,则可以获得 root shell。

4.3 目录错误配置

不当的目录权限可能暴露敏感数据或导致权限提升。

可写目录

find / -type d -writable 2>/dev/null

利用可写目录:在可写目录中覆盖或新增文件,以实现权限提升。

5. 白帽黑客的实践练习

1. 枚举敏感文件

查找具有.conf、.sh或.log扩展名且可写的文件:

2. 分析 SUID 二进制文件

检查 SUID 二进制文件是否允许任意命令执行:

3. 检查定时任务

查找错误配置的定时任务(cron job):

cat /etc/crontab

4. 模拟漏洞利用

修改由特权用户执行的世界可写脚本。

6. 文件权限安全建议

限制世界可写权限

定期审计权限:使用工具(如 Lynis 或 OpenSCAP)识别权限问题。

限制 SUID 二进制文件访问:移除不必要的 SUID 位:

基于组的访问控制:将文件分配给具有有限成员的用户组。

结论

Linux 文件权限是一种强大的数据保护机制,但配置不当可能带来严重的安全隐患。在渗透测试中,必须学会枚举、分析和利用权限相关问题,同时确保以负责任的态度进行操作。通过掌握本文中的命令和技术,你可以更高效地评估和强化 Linux 系统的安全性。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ObQUbxhZwZxss8fm8_WLp3KA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券