《Linux 简易速速上手小册》第3章: 文件系统与权限(2024 最新版)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 《Linux 简易速速上手小册》第3章: 文件系统与权限(2024 最新版)

7443eb4abd0a02d948a622c83b1672a.png

3.1 Linux 文件系统结构

深入 Linux 的世界,首先要熟悉其文件系统结构。Linux 文件系统就像是一个庞大的树形图书馆,每个目录都是一个书架,每个文件就是书架上的一本书。理解这个结构,你就能轻松地在 Linux 的世界里找到你需要的任何东西。

3.1.1 重点基础知识

  • /: 根目录,Linux 文件系统的起点。所有的文件和目录都从这里开始。
  • /bin: 存放基本可执行文件(如 shell 和常用命令)的目录,这些命令对所有用户都可用。
  • /etc: 系统配置文件存放的地方。这里有启动脚本、服务的配置文件等。
  • /home: 用户的家目录。每个用户都有一个自己的目录,在 /home/用户名
  • /var: 存放经常变化的文件,如日志文件、邮件等。
  • /usr: 包含用户文档、游戏、应用程序等。是“Unix System Resources”的缩写,不是“user”的缩写。
  • /tmp: 临时文件存放地。系统重启时,这里的文件可能会被删除。

3.1.2 重点案例:设置一个 Web 服务器

假设你需要在 Linux 上设置一个简单的 Web 服务器,使用 Apache。这个案例会涉及到多个关键目录。

  1. 安装 Apache:
    大多数 Linux 发行版通过包管理器安装软件。例如,在基于 Debian 的系统上,你会使用 sudo apt-get install apache2。安装过程中,Apache 的可执行文件会被放在 /usr/bin/usr/sbin
  2. 配置文件:
    Apache 的主配置文件,如 httpd.confapache2.conf,位于 /etc/apache2 目录。你可能需要编辑这个文件,以适应你的需求。
  3. 网站文件:
    默认情况下,Apache 从 /var/www/html 目录中提供网页。你需要将你的网页文件(如 HTML、CSS、JavaScript 文件)放在这里。

3.1.3 拓展案例 1:日志文件分析

Linux 系统和应用程序(如 Apache)的日志文件通常保存在 /var/log 目录。例如,Apache 的访问日志和错误日志通常位于 /var/log/apache2。理解这个目录的结构对于日志文件的监控和分析至关重要。

3.1.3 拓展案例 2:备份用户数据

假设你需要备份 /home 目录中所有用户的数据。这个目录包含了用户的个人文件和设置。你可以使用 rsynctar 命令来创建 /home 目录的备份,将其存放到外部存储设备或远程服务器上。

通过这些案例,我们不仅能够更好地理解 Linux 文件系统的结构,还能学会如何在实际生产中应用这些知识。无论是设置 Web 服务器、分析日志文件,还是备份用户数据,掌握文件系统结构都是成功完成这些任务的关键。


3.2 理解文件权限

在 Linux 的世界里,文件权限是维持系统安全和秩序的关键。就像你不会把家里的钥匙随便给陌生人一样,你也不希望你的重要文件被未授权的用户访问或修改。

3.2.1 重点基础知识

  • 权限类型: Linux 文件权限分为三种:读(r)、写(w)和执行(x)。读权限允许查看文件内容,写权限允许修改文件内容,执行权限允许运行文件。
  • 权限群组: 权限被分配给三个群组:文件所有者(u),文件所属组(g),其他用户(o)。每个文件都有这三组权限。
  • 查看权限: 使用 ls -l 命令可以查看文件或目录的权限。输出中的第一列显示了文件类型和权限,例如 -rwxr-xr-- 表示一个普通文件,所有者有所有权限,所属组有读和执行权限,其他用户只有读权限。
  • 修改权限: 使用 chmod 命令修改文件或目录的权限。例如,chmod g+w file.txt 会给文件所属组增加写权限。

3.2.2 重点案例:共享项目文件夹

假设你正在团队项目上工作,需要创建一个项目文件夹,让团队中的所有成员都能访问和修改里面的文件。

  1. 创建项目文件夹:
mkdir project
  1. 设置合适的权限:
    为了让团队成员能够读取和写入项目文件夹,你需要修改文件夹的权限。
chmod 775 project
  1. 这个命令设置项目文件夹的权限,使得所有者和所属组成员可以读取、写入和执行,而其他用户只能读取和执行。
  2. 更改文件夹所属组:
    如果你的团队成员都属于一个特定的用户组,你可以更改项目文件夹的所属组,以方便管理。
chgrp team project
  1. 这个命令将项目文件夹的所属组更改为 “team”。

3.2.3 拓展案例 1:保护个人文件

为了防止其他用户访问你的个人文件,你可以移除其他用户的所有权限。

chmod o-rwx personal.txt

这个命令移除了其他用户对 personal.txt 文件的读取、写入和执行权限。

3.2.4 拓展案例 2:设置执行脚本

假设你编写了一个脚本 script.sh,需要让系统上的所有用户都能执行它。

chmod +x script.sh

这个命令给 script.sh 文件添加执行权限,任何用户都可以运行这个脚本。

通过这些案例,我们可以看到文件权限在日常工作中的重要性,无论是在团队合作中共享资源,保护个人文件的隐私,还是设置脚本的执行权限。掌握如何查看和修改文件权限,你就能更好地管理你的文件和目录,保护它们免受未授权访问。


3.3 修改文件权限与所有权

掌握如何修改文件的权限和所有权是 Linux 用户和管理员的一项重要技能。这不仅关系到系统的安全性,也影响到多用户环境中的数据共享和访问控制。让我们深入了解如何有效地使用 chmodchown 命令。

3.3.1 重点基础知识

  • chmod: 修改文件或目录的权限。可以使用数字模式(如 755)或符号模式(如 u+x)。
  • chown: 改变文件或目录的所有者和所属组。格式为 chown 用户名:组名 文件名
  • 数字模式: 权限的数字表示法,例如 755,其中 7 表示所有者权限,5 表示组权限和其他用户的权限。数字是读(4)、写(2)和执行(1)权限的和。
  • 符号模式: 使用字母(如 r, w, x)和操作符(如 +, -, =)来修改权限。例如,u+x 给文件所有者添加执行权限。

3.3.2 重点案例:部署应用程序

假设你是服务器管理员,需要部署一个 Web 应用程序,并确保只有特定的用户和组能访问这些文件。

  1. 创建应用目录:
mkdir /var/www/myapp
  1. 更改目录所有权:
    假设有一个用户 webadmin 和一个组 webgroup 应该管理这个应用。
chown webadmin:webgroup /var/www/myapp
  1. 设置目录权限:
    确保组内成员可以读取和写入目录,而其他用户则不能访问。
chmod 770 /var/www/myapp

这个案例确保了 Web 应用的目录安全,只有授权的用户和组成员可以访问。

3.3.3 拓展案例 1:保护敏感数据

如果你有一些敏感数据需要保护,比如用户信息,你需要确保这些文件只有所有者可以访问。

chmod 700 sensitive_data.txt

这个命令设置文件权限,使得只有文件的所有者可以读取、写入和执行该文件。

3.3.4 拓展案例 2:共享数据文件

在一个团队协作的项目中,你可能需要设置一个目录,让团队中的所有成员都可以访问和修改里面的文件。

chgrp projectgroup shared_data
chmod 770 shared_data

这两个命令将 shared_data 目录的组改为 projectgroup,并设置权限,使得组内成员可以完全访问目录。

通过这些案例,我们可以看到,理解和运用 chmodchown 命令对于管理 Linux 系统中的文件和目录权限至关重要。无论是保护敏感数据,还是促进团队之间的协作,正确的权限和所有权设置都是确保系统安全和效率的关键。

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
5月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
274 3
|
7月前
|
自然语言处理 监控 Linux
Linux 内核源码分析---proc 文件系统
`proc`文件系统是Linux内核中一个灵活而强大的工具,提供了一个与内核数据结构交互的接口。通过本文的分析,我们深入探讨了 `proc`文件系统的实现原理,包括其初始化、文件的创建与操作、动态内容生成等方面。通过对这些内容的理解,开发者可以更好地利用 `proc`文件系统来监控和调试内核,同时也为系统管理提供了便利的工具。
279 16
|
8月前
|
安全 Unix Linux
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
25000多字详细讲解,深度剖析权限管理核心。从基础权限到复杂的特殊权限,逐一拆解,无论你是零基础小白还是经验丰富的运维人员,都能在这里找到提升技能的关键知识,全面掌握 Linux 权限管理。还不快来看看?
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
|
7月前
|
安全 Linux 数据安全/隐私保护
【Linux】深入理解linux权限
本文深入解析Linux权限管理机制,涵盖权限概念、用户角色、文件属性及操作方法。文章分为前言、权限介绍、用户与角色、文件属性、权限修改及常见问题六大板块。详细说明了权限类型(r/w/x)、角色优先级、chmod/chown指令用法,以及目录权限、umask掩码、粘滞位等重点内容。掌握这些知识,可有效提升Linux系统安全性和灵活性,是管理员必备技能。喜欢的话别忘了点赞支持哦! ❤❤❤
362 6
|
8月前
|
安全 Linux 数据安全/隐私保护
Linux权限揭秘“Root与Sudo”
Root用户是Linux系统中的超级用户,拥有对系统的完全控制权。Root用户几乎可以执行任何命令,修改任何文件,甚至删除系统上的所有内容。因此,Root用户的使用需要非常谨慎,以避免潜在的安全风险。
319 6
|
9月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
471 15
|
10月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
2028 7
|
10月前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
240 7
|
11月前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
230 1
linux特殊权限!!
|
10月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。