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

相关文章
|
1月前
|
缓存 Ubuntu Linux
Linux 源配置不用慌!CentOS/Ubuntu 源更新(含恢复)+Yum 操作 + Vim 入门
本教程详解CentOS与Ubuntu系统软件源配置及更新方法,涵盖源备份、更换国内镜像、错误恢复技巧,并介绍Yum常用命令与Vim基础操作,助Linux新手轻松掌握系统维护核心技能。
|
1月前
|
Shell Linux C语言
深入Linux进程控制(三):自定义Shell命令行解释器的实现——从零构建Shell并掌握进程协作实践
本教程带你从零实现Linux自定义Shell,深入掌握进程控制与协作。通过解析命令、fork/exec创建进程、管道通信等实践,理解Shell解释器工作原理,适合初学者快速入门系统编程。
|
1月前
|
Linux vr&ar C语言
掌握Linux软硬链接与动静态库(副标题:小白也能轻松上手的实战教程)
本教程详解Linux中软硬链接与动静态库的核心概念及实战应用。通过简单命令示例,帮助初学者掌握ln创建链接、ar/gcc编译库文件的方法,并理解其区别与使用场景,快速提升系统操作与开发能力。(238字)
|
Linux
如何查看当前的NFS挂载信息?
如何查看当前的NFS挂载信息?
2720 2
【Java基础面试十九】、构造方法能不能重写?
这篇文章指出Java中的构造方法不能被重写,因为构造方法必须与类名相同,而重写要求子类方法与父类方法同名,允许构造方法重写将违背这一规则。
【Java基础面试十九】、构造方法能不能重写?
|
网络协议 算法 安全
【专栏】RIP是一种古老的内部网关协议,使用距离矢量算法,基于跳数更新路由表,最古老的距离矢量协议
【4月更文挑战第28天】RIP是一种古老的内部网关协议,使用距离矢量算法,基于跳数更新路由表。其工作原理包括周期性更新、度量标准、路由表更新和防止计数到无穷问题的技术。RIP简单易用,适合小规模网络,但在大规模网络中效率低且有限制。随着OSPF和EIGRP等协议的发展,RIP在大型网络中的应用减少,但在中小型网络和遗留系统中仍有其地位。RIPv2的改进提高了安全性与灵活性。尽管逐渐被替代,RIP在理解路由协议基本概念和历史中仍具价值。
638 1
|
安全 网络安全 数据安全/隐私保护
网络安全之双因素认证
【8月更文挑战第12天】
1810 2
|
Java API 数据安全/隐私保护
如何在Java中处理InvalidKeyException异常?
如何在Java中处理InvalidKeyException异常?
|
存储 消息中间件 Kubernetes
在K8S中,deploy和Statefulset有何区别?
在K8S中,deploy和Statefulset有何区别?
|
网络协议 网络架构
IP地址划分知识点总结
IP地址划分知识点总结
1255 1