Linux 权限实战:从概念到命令,搞定文件访问控制的核心逻辑

简介: 本教程详解Linux文件权限管理,涵盖权限基础、三元素(读/写/执行)、数字与符号模式修改、所有者变更等核心命令,并结合实战练习与最佳实践,助你掌握系统安全控制技能。

在Linux系统中,文件权限管理是安全的基础。通过合理设置权限,可以避免未授权访问或修改,确保系统安全稳定运行。本教程从零开始,手把手教你掌握文件访问控制的核心逻辑!

一、理解Linux权限基础

1. 权限三元素

Linux文件权限包含以下三个组成:

  • r(读权限):可以查看文件内容
  • w(写权限):可以修改或删除文件内容
  • x(执行权限):可以执行该文件作为程序

每个文件的权限分为三个部分,分别对应:

文件所有者(User)、文件所在组(Group)、其他用户(Others)

2. 权限计算方式

每个权限用3位二进制数表示:

r(读) = 4, w(写) = 2, x(执行) = 1

二、实战命令详解

1. 查看文件权限

命令:ls -l 文件名

brw-rw--- 1 root root 857 5月  9 11:20 /dev/sda1含义解读:- 第1-3列:文件类型(b表示块设备)和所有者权限(rw-)- 第4-6列:组权限(rw-)和其他用户权限(---)- 第8-9列:文件所有者(root)、所属组(root)- 最后12列:文件类型和大小/设备标识

2. 修改权限

方法一:数字模式修改

将r、w、x映射为4、2、1,得出文件权限的数值表示:

r=4, w=2, x=1

权限表示例如:

rwx  = 4+2+1=7rw-  = 4+2+0=6rwx  = 4+0+1=5(仅所有者有权限)

命令:chmod [选项] [权限数值] 文件名

chmod 755 file.txt    # 所有者可读写,组和其他人可读

方法二:符号模式修改

命令:chmod [选项] [ugoa操作][操作符][权限类]

chmod u+w file.txt     # 给文件所有者添加写权限chmod g=r file.txt      # 将组权限设为读chmod o-x,o+w /test     # 其他用户取消执行权限并添加写权限

3. 修改文件所有者

命令:chown 用户名 文件名

chown www /var/www/html    # 将目录所有者改为www用户

递归修改

命令:chmod -R 755 目录名

作用:递归修改目录内所有文件和子目录的权限

4. 查看文件所有者

命令:ls -l

三、权限实战练习

1. 创建测试文件和目录:

sudo touch /tmp/file_01mkdir /tmp/testdir

2. 初始权限状态:

ls -l /tmp/file_01-rw-r--r-- 1 root root 0 5月  9 12:15 /tmp/file_01

3. 修改权限实验:

# 给所有者添加执行权限chmod u+x /tmp/file_01# 删除其他人读权限chmod o-r /tmp/file_01# 移除所有权限chmod a= /tmp/file_01

四、最佳实践建议

  • 特权文件建议采用700或750权限(所有者可读写,组和其他人禁止访问)
  • 程序可执行文件通常使用755(所有者可执行,组和其他人可读)
  • Web目录建议所有者设为www用户,权限使用755
  • 避免使用777全局开放权限

写在最后:在Linux系统中,理解权限逻辑并熟练使用相关命令是管理员必备技能。建议通过反复练习操作加深印象,注意安全权限配置避免误操作!

来源: https://www.vps5.cn/category7.html

相关文章
|
4月前
|
缓存 Ubuntu Linux
Linux 源配置不用慌!CentOS/Ubuntu 源更新(含恢复)+Yum 操作 + Vim 入门
本教程详解CentOS与Ubuntu系统软件源配置及更新方法,涵盖源备份、更换国内镜像、错误恢复技巧,并介绍Yum常用命令与Vim基础操作,助Linux新手轻松掌握系统维护核心技能。
lua字符串与十六进制数据转换
lua字符串与十六进制数据转换
815 2
|
JSON 数据格式
Feign调用文件下载服务接口实例
Feign调用文件下载服务接口实例
1730 0
Feign调用文件下载服务接口实例
|
存储 NoSQL 关系型数据库
支持中低频量化交易的单机数据平台
支持中低频量化交易的单机数据平台,使用InfluxDB存储实时交易数据,HDF5存储静态历史数据用于回测。
5648 0
|
3月前
|
SQL 人工智能 自然语言处理
大模型应用:大模型与智能体(Agent)的核心差异:从定义到实践全解析.34
本文深入解析大模型(LLM)与智能体(AI Agent)的本质区别:大模型是“智能大脑”,专注语言理解与生成,被动响应、无记忆、无工具调用;智能体是“闭环系统”,以大模型为核心,集成规划、记忆、工具调用与反思能力,可主动执行复杂现实任务。通过概念、流程、实例多维对比,厘清二者在技术定位、能力边界与应用场景上的根本差异。
6812 165
|
4月前
|
Shell Linux C语言
深入Linux进程控制(三):自定义Shell命令行解释器的实现——从零构建Shell并掌握进程协作实践
本教程带你从零实现Linux自定义Shell,深入掌握进程控制与协作。通过解析命令、fork/exec创建进程、管道通信等实践,理解Shell解释器工作原理,适合初学者快速入门系统编程。
|
8月前
|
NoSQL 关系型数据库 BI
如何开发一套固定资产管理系统?(附架构图+流程图+代码参考)
固定资产管理涉及采购、入库、维修、盘点、报废等多个环节,是企业资产保值增值的关键。本文详解固定资产管理系统(FAMS)的核心功能、系统架构、资产全生命周期流程,并提供功能设计、开发实操技巧与关键代码示例,涵盖台账、申购、入库、报修、处置、盘点等重点模块。内容聚焦企业落地实践,帮助提升资产管理效率、降低风险、保障审计合规。