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 参考文献与资源

相关推荐
JunLan~2 小时前
Rocky Linux 系统安装/部署 Docker
linux·docker·容器
方竞3 小时前
Linux空口抓包方法
linux·空口抓包
sun0077003 小时前
ubuntu dpkg 删除安装包
运维·服务器·ubuntu
Red Red4 小时前
网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务
网络·笔记·学习·安全·web安全
海岛日记4 小时前
centos一键卸载docker脚本
linux·docker·centos
AttackingLin4 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python
2401_857610034 小时前
SpringBoot社团管理:安全与维护
spring boot·后端·安全
吃肉不能购5 小时前
Label-studio-ml-backend 和YOLOV8 YOLO11自动化标注,目标检测,实例分割,图像分类,关键点估计,视频跟踪
运维·yolo·自动化