Linux便捷查询使用手册 第十章:安全与权限

目录

[10.1 Linux安全模型](#10.1 Linux安全模型)

[10.1.1 权限与拥有者](#10.1.1 权限与拥有者)

示例:查看文件权限

[10.1.2 用户与组管理](#10.1.2 用户与组管理)

示例:创建用户和组

[10.1.3 文件权限管理](#10.1.3 文件权限管理)

示例:更改文件权限

[10.2 安全工具与技术](#10.2 安全工具与技术)

[10.2.1 防火墙(iptables)](#10.2.1 防火墙(iptables))

示例:配置iptables规则

[10.2.2 SSH安全](#10.2.2 SSH安全)

安全措施:

[10.2.3 SELinux与AppArmor](#10.2.3 SELinux与AppArmor)

示例:检查SELinux状态

示例:修改SELinux上下文

[10.3 安全最佳实践](#10.3 安全最佳实践)

[10.3.1 定期更新系统](#10.3.1 定期更新系统)

[10.3.2 监控系统日志](#10.3.2 监控系统日志)

[10.3.3 使用强密码](#10.3.3 使用强密码)

[10.3.4 备份与恢复](#10.3.4 备份与恢复)

示例:使用rsync备份

[10.3.5 定期审计](#10.3.5 定期审计)

[10.4 常见问题与故障排除](#10.4 常见问题与故障排除)

[10.4.1 用户权限不足](#10.4.1 用户权限不足)

[10.4.2 SSH连接失败](#10.4.2 SSH连接失败)

[10.4.3 SELinux限制访问](#10.4.3 SELinux限制访问)

[10.5 参考文献与资源](#10.5 参考文献与资源)


Linux系统的安全性是其设计的重要组成部分。通过严格的用户和权限管理,Linux能够有效地保护系统资源和用户数据。本章将深入探讨Linux的安全机制、用户权限管理、安全工具以及安全最佳实践。

10.1 Linux安全模型

10.1.1 权限与拥有者

在Linux中,每个文件和目录都有一个拥有者和一组权限。权限分为三类:

  • 读(r):允许读取文件内容或列出目录内容。
  • 写(w):允许修改文件内容或在目录中添加或删除文件。
  • 执行(x):允许执行文件(如果是可执行文件)或进入目录。
示例:查看文件权限

使用ls -l命令查看文件权限和拥有者信息:

bash 复制代码
ls -l myfile.txt

输出示例:

bash 复制代码
-rwxr-xr-- 1 user group 1024 Mar 10 10:00 myfile.txt

解释:

  • -rwxr-xr--表示文件权限。
    • rwx:拥有者(user)有读、写、执行权限。
    • r-x:同组用户(group)有读、执行权限。
    • r--:其他用户(others)只有读权限。

10.1.2 用户与组管理

在Linux中,用户可以归属一个或多个组,以便于权限管理。通过将用户分配到组中,可以统一管理一组用户的权限。

示例:创建用户和组
  • 创建用户:
bash 复制代码
sudo useradd newuser
  • 创建组:
bash 复制代码
sudo groupadd newgroup
  • 将用户添加到组:
bash 复制代码
sudo usermod -aG newgroup newuser

10.1.3 文件权限管理

通过chmodchownchgrp命令,可以管理文件和目录的权限和拥有者。

示例:更改文件权限
  • 修改权限:
bash 复制代码
chmod 755 myfile.txt
  • 更改文件拥有者:
bash 复制代码
sudo chown newuser myfile.txt
  • 更改文件组:
bash 复制代码
sudo chgrp newgroup myfile.txt

10.2 安全工具与技术

10.2.1 防火墙(iptables)

Linux提供了强大的防火墙工具iptables,用于配置网络流量的过滤规则。

示例:配置iptables规则
  • 查看当前规则:
bash 复制代码
sudo iptables -L
  • 允许特定端口(如80端口):
bash 复制代码
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  • 拒绝所有入站流量:
bash 复制代码
sudo iptables -A INPUT -j DROP

10.2.2 SSH安全

SSH(Secure Shell)是Linux中常用的远程登录工具。通过一些配置,可以提高SSH的安全性。

安全措施:
  • 禁用root用户远程登录:

/etc/ssh/sshd_config中修改:

bash 复制代码
PermitRootLogin no
  • 更改SSH默认端口(22):
bash 复制代码
Port 2222
  • 使用密钥认证代替密码登录:
bash 复制代码
ssh-keygen ssh-copy-id user@hostname

10.2.3 SELinux与AppArmor

SELinux和AppArmor是两种Linux的强制访问控制(MAC)系统。它们通过提供细粒度的权限控制来增强系统的安全性。

示例:检查SELinux状态
bash 复制代码
sestatus
示例:修改SELinux上下文
bash 复制代码
sudo chcon -t httpd_sys_content_t myfile.txt

10.3 安全最佳实践

10.3.1 定期更新系统

保持系统和软件的更新是确保安全的关键步骤。使用aptyum等包管理工具定期检查并安装更新。

bash 复制代码
sudo apt update sudo apt upgrade

10.3.2 监控系统日志

监控系统日志可以及时发现潜在的安全问题。重要的日志文件包括:

  • /var/log/auth.log:身份验证日志。
  • /var/log/syslog:系统日志。
  • /var/log/secure:安全日志。

使用tail命令查看最新日志:

bash 复制代码
tail -f /var/log/auth.log

10.3.3 使用强密码

确保所有用户使用强密码,并定期更换密码。可以使用passwd命令修改用户密码。

10.3.4 备份与恢复

定期备份数据,并确保备份存储在安全的位置。可以使用rsynctar命令进行备份。

示例:使用rsync备份
bash 复制代码
rsync -av --progress /source/directory/ /backup/directory/

10.3.5 定期审计

定期进行安全审计可以帮助识别潜在的安全风险和不合规配置。使用auditd工具监控和记录系统活动。

10.4 常见问题与故障排除

10.4.1 用户权限不足

  • 解决方法 :检查文件权限和用户所属组,使用chmodchown进行调整。

10.4.2 SSH连接失败

  • 解决方法:检查SSH服务状态、配置文件及防火墙规则。

10.4.3 SELinux限制访问

  • 解决方法:检查SELinux状态和上下文,必要时调整策略。

10.5 参考文献与资源

相关推荐
用户962377954481 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
cipher2 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux