Linux 文件与目录权限管理指南

文章目录

  • Linux 文件与目录权限管理指南
  • 文件与目录权限的基本概念
  • 常用权限管理命令
    • `ls -l`:查看文件权限
    • `chmod`:修改文件权限
      • 符号模式
      • 数字模式
    • `chown`:更改文件所有者和所属组
      • `chgrp`:只更改文件所属组
      • `umask`:设置默认权限
  • 示例:管理目录权限
    • 创建目录并查看默认权限
    • 修改目录权限,限制其他用户进入
    • 允许所有者独享读写执行权限
  • 特殊权限
  • 总结


Linux 文件与目录权限管理指南

在 Linux 系统中,文件和目录的权限管理是保证系统安全性和多用户环境下资源合理使用的基础。通过对文件和目录权限的控制,管理员可以指定哪些用户可以读取、写入或执行特定的文件。

本文将介绍 Linux 文件与目录权限的基本概念和常用命令,帮助你更好地理解和管理文件的访问权限。

文件与目录权限的基本概念

每个文件和目录在 Linux 中都有以下三类权限控制:

  • 读取权限 (read, r):允许查看文件内容或列出目录内容。
  • 写入权限 (write, w):允许修改文件内容或在目录下创建、删除文件。
  • 执行权限 (execute, x):允许执行文件(如脚本、程序)或进入目录。

权限针对三类用户:

  • 所有者 (owner):文件的创建者或拥有者。
  • 所属组 (group):与文件所有者相同组的用户。
  • 其他用户 (others):系统中除了所有者和所属组外的其他用户。

权限以 rwx 的形式表示,分别对应读取写入执行权限。权限可以通过字母或数字表示(数字表示法通常使用 chmod 命令来修改权限)。

例如,-rw-r--r-- 表示:

  • 所有者有读取和写入权限 (rw-)。
  • 所属组有读取权限 (r--)。
  • 其他用户也有读取权限 (r--)。

常用权限管理命令

ls -l:查看文件权限

要查看文件或目录的权限,可以使用 ls -l 命令。

ls -l

输出示例:

-rw-r--r-- 1 user group 4096 Sep  7 10:00 file.txt

解释:

  • -rw-r--r--:文件权限(文件类型和权限)。
  • user:文件所有者。
  • group:文件所属组。
  • 4096:文件大小(字节)。
  • Sep 7 10:00:最后修改时间。
  • file.txt:文件名。

chmod:修改文件权限

chmod 命令用于更改文件或目录的权限。权限可以通过符号模式数字模式来设置。

符号模式

chmod u+x file.sh   # 为文件所有者添加执行权限
chmod g-w file.txt  # 移除文件所属组的写入权限
chmod o=r file.txt  # 为其他用户设置只读权限

符号表示法说明:

  • u:所有者 (user)。
  • g:所属组 (group)。
  • o:其他用户 (others)。
  • a:所有用户 (all)。
  • +:添加权限。
  • -:移除权限。
  • =:设置指定权限。

数字模式

使用八进制数来表示权限:

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

总和表示权限组合。例如,7 表示 rwx5 表示 r-x

chmod 755 file.sh  # 为所有者设置rwx权限,组和其他用户设置r-x权限
chmod 644 file.txt # 为所有者设置rw-权限,组和其他用户设置r--权限

chown:更改文件所有者和所属组

chown 命令用于修改文件的所有者或所属组。

chown newuser file.txt       # 更改文件所有者为newuser
chown newuser:newgroup file.txt  # 更改文件所有者和所属组

chgrp:只更改文件所属组

chgrp newgroup file.txt  # 更改文件所属组为newgroup

umask:设置默认权限

umask 用于设置新建文件和目录的默认权限。它会从默认权限中减去相应的权限位。

默认情况下,新建文件的权限为 666,目录的权限为 777

例如:

umask 022  # 新文件的默认权限为644,目录的默认权限为755

示例:管理目录权限

创建目录并查看默认权限

mkdir mydir
ls -ld mydir

输出示例:

drwxr-xr-x 2 user group 4096 Sep  7 10:10 mydir

说明:默认情况下,目录有 rwx 权限(可读、可写、可进入)。

修改目录权限,限制其他用户进入

chmod o-x mydir
ls -ld mydir

输出:

drwxr-x--- 2 user group 4096 Sep  7 10:12 mydir

说明:其他用户无法进入此目录。

允许所有者独享读写执行权限

chmod 700 mydir
ls -ld mydir

输出:

drwx------ 2 user group 4096 Sep  7 10:14 mydir

说明:只有文件所有者可以访问该目录,其他用户没有权限。

特殊权限

除了基本权限外,Linux 还提供了三种特殊权限:SUIDSGIDsticky bit

  • SUID (Set User ID):文件以文件所有者的权限执行,而非执行者的权限。通常用于某些系统程序。
  • SGID (Set Group ID):目录内新建的文件继承该目录的组,而不是创建者的组。
  • sticky bit:只允许文件所有者或 root 删除该目录下的文件。常用于 /tmp 目录。
chmod u+s file.sh   # 设置SUID
chmod g+s mydir     # 设置SGID
chmod +t mydir      # 设置sticky bit

总结

通过合理管理文件和目录的权限,可以有效地保护系统的安全性,并确保文件资源的合理使用。了解并掌握 chmodchownumask 等命令,可以帮助你更灵活地管理 Linux 环境下的文件与目录。

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

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

相关文章

Autosar(Davinci) --- 创建一个S/R类型的port(下)

前言: 前面章节我们讲解了S/R类型的Port如何创建,这一章节,我们着重讲一下生成的代码,以及我们如何添加代码让这些门与灯之间的关系产生连接。 一、CtSaDoor.c 在【Rte.c】的【IO_TASK】中我们可以看到,反复的判断Rte_Ev_Cyclic_IO_Task_0_200ms这个条件是否成立,当200…

RabbitMQ创建交换机和队列——配置类 注解

交换机的类型 Fanout:广播,将消息交给所有绑定到交换机的队列。 Direct:订阅,基于RoutingKey(路由key)发送给订阅了消息的队列。 Topic:通配符订阅,与Direct类似,只不…

python如何获取html中的所有链接

在Python中,获取HTML页面中的所有链接通常可以通过使用第三方库如BeautifulSoup或lxml来完成。这里,我将提供一个使用BeautifulSoup库的示例,因为它简单易用且功能强大。 首先,你需要安装BeautifulSoup和requests库(如…

数据分析-前期数据处理

今天找到一份关于医学体检的数据,在数据分析前期工作需要对数据做处理,在这里我们对原始数据做一些处理,将数据处理为可分析的标准数据。下一篇文章做数据的分析。数据想要获取的话可以到我的资源下载。1 数据读取 import pandas as pd data…

Vue3 父组件向子组件传值:异步数据处理的显示问题

一、问题场景 假设我们有一个父组件和一个子组件,父组件需要经过一些复杂的计算或者异步操作才能得到要传递给子组件的值。在数据还没有准备好的时候,子组件尝试获取并显示这个值,这就可能导致子组件没有数据可显示或者显示了一个不正确的初…

中国农业银行——数据湖建设

【金融机构开源技术应用创新成果案例 第十五期】 中国农业银行——数据湖建设 技术领域:大数据 技术产品:Hudi、Alluxio、Flink、Atlas、Monaco Editor、AntvX6 业务场景:实时经营管理、实时运维管理、数据运营管理、数据开发 应用时间:2021年12月 一、案例背景 十三…

rust + bevy 实现小游戏 打包成wasm放在浏览器环境运行

游戏界面 代码地址 github WASM运行 rustup target install wasm32-unknown-unknown cargo install wasm-server-runner cargo run --target wasm32-unknown-unknowncargo install wasm-bindgen-cli cargo build --release --target wasm32-unknown-unknown wasm-bindgen --…

SpringBoot动态SQL

目录 动态SQL【重点】 1、 SQL片段 2、if 3、where [重点] 4、 set 5、 foreach 动态SQL【重点】 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘…

python的循环结构

引言 在前面的课程中,我们已经学习了 Python 的基本输入输出、数据类型及其转换、顺序结构和分支结构。本课时将介绍 Python 中的循环结构,主要讨论如何使用 for 循环和 while 循环来重复执行一段代码。通过一个具体的示例——打印九九乘法表&#xff0c…

开源 TTS 模型「Fish Speech」1.4 发布;GameGen-O :生成开放世界游戏视频模型丨 RTE 开发者日报

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。 我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、…

yarn webpack脚手架 react+ts搭建项目

安装 Yarn 首先,确保你已经安装了 Node.js 和 Yarn。如果还没有安装 Yarn,可以通过以下命令安装: npm install -g yarn创建项目 使用 create-react-app 脚手架创建一个带有 TypeScript 的项目,node更新到最新版,并指定…

Unity Apple Vision Pro 开发(十):通过图像识别锚定空间

XR 开发者社区链接: SpatialXR社区:完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子 课程试看:https://www.bilibili.com/video/BV1mpH9eVErW 课程完整版,答疑仅社区成员可见,可以通过文章开头的链接加入…

产品探秘|开物——面向AI原生和云原生网络研究的首选科研平台

在当今高速发展的信息技术领域,特别是对于那些致力于前沿科技探索与实践的高校而言,拥有一款能够支持复杂网络业务研究与开发的平台至关重要。开物™数据网络开发平台(Data Network Development Platform,简称DNDP)&am…

Go协程及并发锁应用指南

概念 协程(Goroutine)是Go语言独有的并发体,是一种轻量级的线程,也被称为用户态线程。相对于传统的多线程编程,协程的优点在于更加轻量级,占用系统资源更少,切换上下文的速度更快,不…

ClickHouse的安装配置+DBeaver远程连接

1、clickhouse的下载: 先去clickhouse官网进行下载,继续往下翻找文档,将DBeaver也下载下来 下载地址:https://packages.clickhouse.com/rpm/stable/ 下载这个四个rpm包 2、上传rmp文件到Linux中 自己创建的一个clickhouse-ins…

ceph简介

ceph存储简要概述: 通过将文件分解成固定大小对象,然后存放于pool中,每个pool中 可包含多个pg,每个pg中又可包含多个osd 通过crush算法 最终数据落盘到osd中去。 一、ceph 删除osd 步骤1 修改osd数据操作权重值 ceph osd crush r…

【人工智能】MOE架构的详细解析

🏆🏆欢迎大家来到我们的天空🏆🏆 🏆🏆如果文章内容对您有所触动,别忘了点赞、关注,收藏! 🏆 作者简介:我们的天空 🏆《头衔》&#x…

【Qt】解决设置QPlainTextEdit控件的Tab为4个空格

前言 PyQt5 是一个用于创建跨平台桌面应用程序的 Python 绑定集合,它提供了对 Qt 应用程序框架的访问。用于开发具有图形用户界面(GUI)的应用程序,以及非GUI程序。PyQt5 使得 Python 开发者可以使用 Qt 的丰富功能来构建应用程序。…

kubernetes微服务基础及类型

目录 1 什么是微服务 2 微服务的类型 3 ipvs模式 ipvs模式配置方式 4 微服务类型详解 4.1 ClusterIP 4.2 ClusterIP中的特殊模式headless 4.3 nodeport 4.4 metalLB配合loadbalance实现发布IP 1 什么是微服务 用控制器来完成集群的工作负载,那么应用如何暴漏出去&…

PHP悦读随行一键借阅图书小程序

悦读随行:一键借阅图书馆小程序,让阅读与你同行 📚 封面:解锁阅读新方式 在这个信息爆炸的时代,我们总在寻找更高效、更便捷的方式来获取知识。今天,就让我们一起探索“悦读随行一键借阅图书馆小程序”&am…