Linux 中常见的安全与权限机制

Linux 中常见的安全与权限机制主要包括以下几类,从文件系统权限系统级访问控制,构建了多层次的安全保障体系。


🔐 一、文件权限与用户管理

1. 基本权限(rwx)

  • r(read):读取文件内容或目录列表
  • w(write):修改文件内容或目录结构
  • x(execute):执行文件或进入目录
ls -l 文件名
chmod +x 脚本.sh     # 添加执行权限
chown 用户:组 文件名  # 修改所属用户/组

2. 权限三类对象

  • 用户(User)
  • 用户组(Group)
  • 其他人(Other)

例:-rwxr-xr--

  • 用户:rwx
  • 用户组:r-x
  • 其他人:r–

3. 权限命令

命令说明
chmod修改权限
chown修改文件属主属组
umask设置默认权限掩码
ls -l查看权限

🧑‍💻 二、用户、用户组管理

  • useradd / userdel / usermod:添加、删除或修改用户
  • groupadd / groupdel / groupmod:管理用户组
  • passwd:设置用户密码
  • /etc/passwd/etc/group/etc/shadow:用户组和加密信息配置文件

🔒 三、特殊权限位(Sticky、SUID、SGID)

权限作用示例
SUID以文件属主身份执行/usr/bin/passwd
SGID以文件属组身份执行或共享组共享开发目录
Sticky防止其他用户删除文件/tmp 目录

示例:

chmod u+s a.out     # 设置 SUID
chmod g+s sharedir  # 设置 SGID
chmod +t /tmp       # 设置 Sticky bit

🧱 四、系统安全机制

1. 防火墙(iptables / firewalld / nftables)

  • 控制入站/出站流量
  • 管理端口访问权限

2. SELinux(Security Enhanced Linux)

  • 提供基于策略的强制访问控制(MAC)
  • 控制进程对资源的访问,即使 root 也可能被限制
getenforce      # 查看状态
setenforce 0    # 临时关闭

3. AppArmor(Ubuntu 常见)

  • 类似 SELinux 的 MAC 机制
  • 通过配置文件限制进程权限

🧪 五、sudo 权限控制

通过配置 /etc/sudoers 控制用户是否可执行特权命令(如 root)

sudo visudo  # 编辑 sudo 配置

🔍 六、系统登录和认证机制

  • SSH Key 登录:推荐使用密钥而非密码登录
  • PAM(Pluggable Authentication Modules):可插拔认证模块框架
  • fail2ban:防止暴力破解(自动封 IP)

📊 七、日志审计与命令历史

  • /var/log/secure:安全相关日志(CentOS)
  • /var/log/auth.log:登录认证日志(Ubuntu)
  • .bash_history:记录用户命令(可设置审计增强)

📋 八、进程与服务限制

  • ulimit:限制用户资源使用(内存、进程数)
  • systemdPrivateTmpProtectSystem 限制服务访问系统目录
  • cgroups:限制资源(CPU、内存)

总结表格

类型机制功能
文件权限rwx、chmod、umask控制文件访问
用户管理passwd、group、sudo控制系统访问
特殊权限SUID、SGID、Sticky控制执行行为
系统安全SELinux、AppArmor、iptables高级访问控制
认证机制SSH Key、PAM、sudo提高认证安全
审计机制日志、history、fail2ban安全追踪与防护
资源控制ulimit、cgroups、systemd限制系统滥用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/83071.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS篇-3

1. CSS 中哪些样式可以继承?哪些不可以继承? 可继承的样式: 与字体相关的样式,如:font-size、font-family、color 列表样式:list-style(如 UL、OL 的 list-style-type) 不可继承…

计算机网络物理层基础练习

第二章 物理层 填空题 从通信双方信息交互的方式来看,通信的三种基本方式为单工、半双工和全双工。其中,单工数据传输只支持数据在一个方向上传输,全双工数据传输则允许数据同时在两个方向上传输。最基本的带通调制方法包括三种&#xff1a…

Redis7底层数据结构解析

redisObject 在 Redis 的源码中,Redis 会将底层数据结构(如 SDS、hash table、skiplist 等)统一封装成一个对象,这个对象叫做 redisObject,也简称 robj。 typedef struct redisObject {unsigned type : 4; // 数…

华为OD机试_2025 B卷_静态扫描(Python,100分)(附详细解题思路)

题目描述 静态扫描可以快速识别源代码的缺陷,静态扫描的结果以扫描报告作为输出: 1、文件扫描的成本和文件大小相关,如果文件大小为N,则扫描成本为N个金币 2、扫描报告的缓存成本和文件大小无关,每缓存一个报告需要…

【Java】在 Spring Boot 中连接 MySQL 数据库

在 Spring Boot 中连接 MySQL 数据库是一个常见的任务。Spring Boot 提供了自动配置功能,使得连接 MySQL 数据库变得非常简单。以下是详细的步骤: 一、添加依赖 首先,确保你的pom.xml文件中包含了 Spring Boot 的 Starter Data JPA 和 MySQ…

基于51单片机的音乐盒键盘演奏proteus仿真

地址: https://pan.baidu.com/s/1tZCAxQQ7cvyzBfztQpk0UA 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C51 是一款常用的 8 位单片机,由 Atmel 公司(现已被 Microchip 收…

Android Native 之 adbd进程分析

目录 1、adbd守护进程 2、adbd权限降级 3、adbd命令解析 1)adb shell 2)adb root 3)adb reboot 4、案例 1)案例之实现不需要执行adb root命令自动具有root权限 2)案例之实现不需要RSA认证直接能够使用adb she…

C语言进阶--动态内存管理

学习数据结构重要的三个部分:指针、结构体、动态内存管理(malloc、calloc、realloc、free)。 1.为什么存在动态内存分配? 1.空间开辟大小是固定的; 2.数组在声明时,必须指定数组的长度,它所需…

C# 密封类和密封方法

密封(sealed)是C#中用于限制继承和多态行为的关键字,它可以应用于类和方法,提供了一种控制继承层次的方式。 密封类 特点 使用 sealed 关键字修饰的类密封类不能被其他类继承,但可以继承其他类或接口主要用于防止派生所有结构(struct)都是…

thinkpad T-440p 2025.05.31

thinkpad T-440p 2025.05.31 老了退休了,说起来真的可恶现在笔记本的设计师,只有固态硬盘了

WPS自动换行

换行前 换行后 快捷键 第一步:启用「自动换行」功能 选中目标单元格/区域:点击需要设置的单元格(或拖动选中多个单元格)。开启自动换行(3种方式任选): 快捷按钮:在顶部菜单栏点击「…

cuda_fp8.h错误

现象: cuda_fp8.h错误 原因: CUDA Toolkit 小于11.8,会报fp8错误,因此是cuda工具版本太低。通过nvcc --version查看 CUDA Toolkit 是 NVIDIA 提供的一套 用于开发、优化和运行基于 CUDA 的 GPU 加速应用程序的工具集合。它的核心作用是让开发…

【TTS】基于GRPO的流匹配文本到语音改进:F5R-TTS

论文地址:https://arxiv.org/abs/2504.02407v3 摘要 我们提出了F5R-TTS,这是一种新颖的文本到语音(TTS)系统,它将群体相对策略优化(GRPO)集成到基于流匹配的架构中。 通过将流匹配TTS的确定性输出重新表述为概率高斯分布,我们的方…

头歌java课程实验(Java面向对象 - 包装类)

第1关:基本数据类型和包装类之间的转换 任务描述 本关任务:实现基本数据类型与包装类之间的互相转换。 相关知识 为了完成本关任务,你需要掌握: 1.什么是包装类; 2.怎么使用包装类。 什么是包装类 在JAVA中&#x…

实现一个免费可用的文生图的MCP Server

概述 文生图模型为使用 Cloudflare Worker AI 部署 Flux 模型,是参照视频https://www.bilibili.com/video/BV1UbkcYcE24/?spm_id_from333.337.search-card.all.click&vd_source9ca2da6b1848bc903db417c336f9cb6b的复现Cursor MCP Server实现是参照文章https:/…

ES6 深克隆与浅克隆详解:原理、实现与应用场景

ES6 深克隆与浅克隆详解:原理、实现与应用场景 一、克隆的本质与必要性 在 JavaScript 中,数据分为两大类型: 基本类型:Number、String、Boolean、null、undefined、Symbol、BigInt引用类型:Object、Array、Functio…

新闻数据加载(鸿蒙App开发实战)

本案例基于ArkTS的声明式开发范式,介绍了数据请求和onTouch事件的使用。包含以下功能: 数据请求。列表下拉刷新。列表上拉加载。 网络数据请求需要权限:ohos.permission.INTERNET 一、案例效果截图 操作说明: 点击应用进入主页…

办公效率王Word批量转PDF 50 +文档一键转换保留原格式零错乱

各位办公小能手们,我跟你们说啊!在办公的时候,咱经常会碰到要把一堆Word文档转成PDF格式的情况,比如说要统一文件格式、保护文档内容或者方便分享啥的。这时候,就需要用到Word批量转换成PDF的软件啦。下面我就给你们好…

一张Billing项目的流程图

流程图 工作记录 2016-11-11 序号 工作 相关人员 1 修改Payment Posted的导出。 Claim List的页面加了导出。 Historical Job 加了Applied的显示和详细。 郝 识别引擎监控 Ps (iCDA LOG :剔除了160篇ASG_BLANK之后的结果): LOG_File 20161110.txt BLANK_CDA/ALL 45/10…

SpringAI系列4: Tool Calling 工具调用 【感觉这版本有bug】

前言:在最近发布的 Spring AI 1.0.0.M6 版本中,其中一个重大变化是 Function Calling 被废弃,被 Tool Calling 取代。Tool Calling工具调用(也称为函数调用)是AI应用中的常见模式,允许模型通过一组API或工具…