《Linux 基础命令;chmod 权限设置》

一、Linux 基础命令(安全相关核心)

Linux 是网络安全领域的核心操作系统(如渗透测试、日志分析、IDS 部署),掌握基础命令是后续安全实践的前提。以下是与网络安全强相关的高频命令及其用法,按功能分类整理:

1. 文件与目录操作

命令

功能描述

常用选项/示例

安全场景

ls

列出目录内容

ls -l(长格式显示权限/所有者)、ls -a(显示隐藏文件)、ls -h(人性化大小单位)

查看目录下文件权限(如敏感文件是否被错误授权)、发现隐藏的恶意文件(如.bashrc后门)。

cd

切换目录

cd /var/log(进入日志目录)、cd ..(返回上级目录)

快速定位日志文件(如/var/log/auth.log记录SSH登录)、分析攻击痕迹。

cp

复制文件/目录

cp source.txt dest.txt(复制文件)、cp -r dir1 dir2(递归复制目录)

备份关键配置文件(如/etc/passwd)、保存攻击现场的日志副本。

mv

移动文件/目录(或重命名)

mv old.log new.log(重命名)、mv log.txt /backup/(移动到备份目录)

清理临时日志(避免被攻击者利用)、转移敏感文件到安全目录。

rm

删除文件/目录

rm test.txt(删除文件)、rm -rf dir/(强制递归删除目录,慎用!)

清除恶意文件(如病毒脚本)、删除攻击者上传的非法文件(需确认权限)。

2. 文本处理与搜索

命令

功能描述

常用选项/示例

安全场景

cat

查看文件内容

cat /etc/passwd(查看用户账户信息)、cat app.log(查看应用日志)

检查系统是否存在非法用户(如/etc/passwd中出现未知用户)、分析应用日志中的异常请求(如SQL注入)。

grep

在文件中搜索关键词

grep "Failed password" /var/log/auth.log(搜索SSH登录失败记录)、grep "malware" scan.txt(搜索恶意文件特征)

定位攻击日志(如暴力破解尝试)、提取恶意软件的关键字符串(如C2服务器IP)。

find

按条件搜索文件/目录

find /tmp -name "*.sh"(查找/tmp目录下的Shell脚本)、find /home -mtime -1(查找24小时内修改的文件)

发现可疑脚本(如攻击者上传的.sh后门)、追踪近期被篡改的配置文件。

tail

查看文件末尾内容(实时监控)

tail -f /var/log/nginx/access.log(实时监控Nginx访问日志)、tail -n 50 app.log(查看最后50行)

实时跟踪攻击流量(如异常IP频繁访问)、捕获攻击发生时的日志片段。

3. 进程与服务管理

命令

功能描述

常用选项/示例

安全场景

ps

查看当前进程

ps aux(显示所有进程)、`ps -ef

grep nginx`(过滤nginx进程)

top/htop

实时监控进程资源占用(CPU/内存)

top -c(显示完整命令)、htop(交互式界面,更直观)

发现资源异常进程(如挖矿木马占用90% CPU)、定位高权限恶意进程(如以root运行的未知程序)。

systemctl

管理系统服务(启动/停止/重启)

systemctl start nginx(启动Nginx)、systemctl stop sshd(停止SSH服务)、systemctl status firewalld(查看防火墙状态)

关闭不必要的服务(如Telnet)、重启被攻击的服务(如被植入后门的Web服务)。

4. 网络与安全工具

命令

功能描述

常用选项/示例

安全场景

ping

测试网络连通性

ping -c 4 baidu.com(向百度发送4个ICMP包)

检测目标是否存活(如攻击后确认服务器是否宕机)、识别ICMP洪水攻击(如大量无响应的Ping包)。

netstat

查看网络连接、端口监听状态

netstat -tunlp(显示TCP/UDP连接、监听端口及对应进程)、`netstat -an

grep 80`(查看80端口连接)

ss

更高效的网络状态查看工具(替代netstat)

ss -tunlp(功能同netstat -tunlp)

快速定位高并发连接(如DDoS攻击时的异常流量)、分析恶意IP的连接状态(如大量ESTABLISHED连接)。

wget/curl

下载文件/测试Web接口

wget
http://malicious.com/backdoor.sh(下载可疑文件)、curl -I https://example.com(查看HTTP响应头)

下载恶意样本(需在隔离环境中操作)、验证Web服务的安全性(如检查是否启用HTTPS)。

5. 权限与用户管理(安全核心)

命令

功能描述

常用选项/示例

安全场景

chmod

修改文件/目录权限(重点!)

见下文详细说明

限制敏感文件权限(如/etc/shadow仅允许root读写)、设置脚本可执行权限(如chmod +x script.sh)。

chown

修改文件/目录的所有者和所属组

chown root:wheel /etc/sudoers(将sudoers文件所有者改为root,组改为wheel)

修复错误权限(如普通用户误拥有/etc/passwd的写权限)、确保关键文件仅由管理员控制。


二、chmod 权限设置(Linux 安全核心)

Linux 通过文件权限控制用户对文件/目录的访问,是防止未授权操作的核心机制。chmod(Change Mode)命令用于修改文件/目录的权限,需重点掌握。

1. 权限的基本概念

Linux 文件权限分为三部分:文件所有者(User,u)所属组(Group,g)其他用户(Others,o),每部分包含三种权限:

权限类型

符号表示

说明

读(Read)

r

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

写(Write)

w

允许修改文件内容(文件)或创建/删除目录内文件(目录)。

执行(Execute)

x

允许执行文件(如脚本、可执行程序)或进入目录(目录)。

2. 权限的两种表示方式

权限有两种表示方法:符号模式(rwx)和数字模式(八进制数),chmod命令支持两者。

(1)符号模式(u/g/o/a)

通过u(用户)、g(组)、o(其他)、a(所有用户)指定目标,结合+(添加权限)、-(移除权限)、=(设置权限)修改权限。

语法

chmod [who][operator][permissions] file  

示例

  • 允许文件所有者(u)添加写权限(+w):chmod u+w file.txt
  • 移除所属组(g)的执行权限(-x):chmod g-x dir/
  • 设置其他用户(o)仅有读权限(=r):chmod o=r file.sh
  • 所有用户(a)添加执行权限(+x):chmod a+x backup.sh

(2)数字模式(八进制数)

每种权限对应一个八进制数(r=4,w=2,x=1,无权限=0),三部分权限值为三者之和,最终用三位八进制数表示(u/g/o)。

权限值计算

  • 读(r)=4,写(w)=2,执行(x)=1
  • 示例:rwxr-x--- → u=4+2+1=7,g=4+0+1=5,o=0+0+0=0 → 数字模式为750

语法

chmod [三位八进制数] file  

示例

  • 设置文件所有者可读可写可执行(rwx=7),所属组可读可执行(r-x=5),其他用户无权限(---=0):chmod 750 script.sh
  • 设置目录可读可写可执行(rwx=7),所属组和其他用户可读可执行(r-x=5):chmod 755 dir/

3. 特殊权限位(进阶)

除基本权限外,Linux 还支持特殊权限位(通过数字模式四位八进制数表示,第一位为特殊权限):

特殊权限位

八进制值

说明

安全风险

SUID(Set UID)

4

文件执行时,临时拥有所有者的权限(如passwd命令修改/etc/shadow)。

恶意文件若设置SUID(如/usr/bin/sudo被篡改),攻击者可通过执行它获取root权限。

SGID(Set GID)

2

文件执行时,临时拥有所属组的权限;目录下新建文件自动继承目录的所属组。

攻击者利用SGID目录上传恶意文件,使其属于高权限组(如wheel),间接获取权限。

Sticky Bit(粘滞位)

1

仅允许文件所有者或root删除/重命名目录下的文件(如/tmp目录)。

防止普通用户误删他人文件,但无法阻止恶意用户删除自己的文件(需结合其他权限)。

示例

  • 设置/usr/bin/sudo的SUID位(八进制4755):chmod 4755 /usr/bin/sudo
  • 设置/shared目录的SGID位(八进制2775):chmod 2775 /shared
  • 设置/tmp目录的Sticky Bit(八进制1777):chmod 1777 /tmp

4. 安全最佳实践

  • 最小权限原则:文件/目录仅授予必要权限(如配置文件仅允许root读写,普通用户仅可读)。示例:/etc/shadow(存储用户密码哈希)权限应为600(仅root可读写)。
  • 限制可执行文件权限:避免普通用户拥有高权限脚本的执行权(如chmod 700 critical_script.sh)。
  • 定期审计权限:使用ls -l检查关键文件权限(如/etc/passwd、/etc/sudoers),清理异常权限。
  • 避免使用777权限:chmod 777(所有用户可读可写可执行)会严重暴露风险,仅在临时测试时使用。

5. 常见错误与注意事项

  • 目录权限误区:目录的可执行权限(x)是“进入目录”的必要条件(无x权限时,即使有r权限也无法cd或ls目录内容)。
  • 符号链接权限:chmod修改符号链接的权限时,实际修改的是目标文件的权限(符号链接本身权限无意义)。
  • 权限继承:新建文件/目录的默认权限由umask(用户掩码)决定(如umask 022时,新建文件权限为644,目录为755)。

总结

Linux 基础命令是网络安全实践的“瑞士军刀”,chmod权限设置则是控制访问的核心工具。数通工程师可结合以下场景强化学习:

  • 日志分析:用grep/tail快速定位攻击日志;
  • 恶意文件处理:用chmod限制病毒脚本的执行权限;
  • 系统加固:通过chmod/chown修复错误权限(如敏感文件被普通用户拥有写权限)。

熟练掌握这些命令后,可进一步提升渗透测试、应急响应等安全场景的操作效率。

原文链接:,转发请注明来源!