当前位置: 首页 > news >正文

linux文件权限与目录配置

用户与用户组

linux一般将文件可读写的身份分为三个类别:拥有者(owner)、所属群组(group)、其他人(other)
三种身份都有读、写、执行等权限

  1. 文件拥有者
    linux是个多人多任务的系统,可能存在多个人同时使用一台主机的情况,这就需要对每个用户的隐私进行保护
    可以设置文件只有拥有者才可以查看,其他用户就查看不到这个文件的内容啦
  2. 用户组概念
    可以设置文件对一组用户可见,保证团队工作的效率与隐私性
    每个账号都可以有多个用户组支持
  3. 其他人
    其他人可以通过组内用户访问文件
  • linux用户身份与用户组记录的文件
    默认情况下,所有的系统上的账号与普通用户、root用户信息都记录在**/etc/passwd文件中,个人密码记录在/etc/shadow文件中,所有组名记录在/etc/group**中

打开/etc/passwd文件后可以看到里面有很多数据,但是很多用户都不是自己创建的,这就是系统自己创建的系统用户,也就是伪用户
在这里插入图片描述
这些系统用户不能用来登录系统,但是也不能删除。因为一旦删除,依赖这些用户运行的进程将不能正常执行,会导致系统问题

linux文件权限概念

linux文件属性

列出文件后可以查看其相关属性
在这里插入图片描述
上述图片从左到右为:
文件的类型权限,链接数,文件拥有者,文件所属用户组,文件大小,文件最后被修改的时间,文件名

  • 第一栏为文件的类型与权限,含10个字符
    • 第一个字符代表文件是目录、文件、链接文件等
      • d:目录
      • -:文件
      • l:链接文件
      • b:设备文件里面可供存储的周边设备(可按块随机读写的设备)
      • c:设备文件里面的串行端口设备,如键盘、鼠标(一次性读取设备)
    • 之后的字符,3个为一组,均为rwx三个参数的组合,分别为可读、可写、可执行
      • 第一组为文件拥有者具备的权限
      • 第二组为加入用户组成员的权限
      • 非本人非用户组成员的其他账号的权限
  • 第二栏表示有多少文件名链接到此节点
    每个文件都会将它的权限与属性记录到文件系统的inode中,但我们平时使用的文件数确是使用文件名来记录,故每个文件名都会链接到一个inode,这个属性记录的就是有多少不同的文件名链接到同一个inode号码
  • 第三栏表示文件(或目录)拥有者的账号
  • 第四栏表示这个文件的所属用户组
  • 第五栏表示文件的容量大小,默认单位为Bytes
  • 第六栏为文件的创建日期或是最近的修改日期

修改文件属性与权限

  • chgrp 修改文件所属用户组
    change group的缩写
    注意,要修改的组名必须在/etc/group文件中才行,否则会显示错误

    chgrp [-R] 修改为用户组 dirname/filename  
    
    • 选项与参数
      -R:进行递归修改,即子目录下的所有文件、目录进行同步修改

    对于文件修改:
    在这里插入图片描述
    可以看到用户组已经修改
    对于文件夹修改:
    在这里插入图片描述
    在这里插入图片描述
    其内部文件也进行了递归修改

  • chown 修改文件拥有者

    chown [-R] 新拥有者名称 目标文件(若是文件夹,需要有-R参数)
    chown [-R] 新拥有者名称:新用户组名称 目标文件(若是文件夹,需要有-R参数)
    

    chown也可以顺便修改用户组的名称
    在这里插入图片描述

  • chmod 修改文件权限,SUID、SGID、SBIT等的特性

    • 数字类型修改权限
      rwx视为二进制

      chmod [-R] 权限数字 文件或目录
      

      在这里插入图片描述

    • 符号类型修改权限
      权限分别对应三种身份:user(u),group(g), others(o)
      还有一种all(a)

      chmodu、g、o、a+(加入)、-(移除)、=(设置)r、w、x文件或目录

      可以对每一部分权限进行具体设置
      在这里插入图片描述

目录与文件的权限意义

  • 权限对文件的重要性

    • r:可以读取文件内容
    • w:可编辑、修改文件内容(但是不能删除文件)
    • x:文件具有可以被系统执行的权限

    对于rwx权限来说,主要都是针对文件的内容而言,与文件名的存在与否没有绝对关系

    在windows下,文件是否具有执行能力是由扩展名来判断的,如exe,bat等
    但是在linux下,文件是否能被执行是借由是否具有[x]这个权限来决定的,与文件名没有绝对关系

  • 权限对目录的重要性
    文件是存放实际数据的存在,目录主要的内容是记录文件名列表,文件名与目录有强烈的关联

    • r:可以读取目录下文件名数据
    • w:具有改动该目录结构列表的权限
    • x:用户是否能进入该目录称为工作目录
      要开放目录给任何人浏览时,应至少需要基于r及x权限,但w权限不能随便给

linux文件种类

任何设备在linux下都是文件

  • 常规文件
    一般我们在进行读写的类型的文件,在ls -al所显示出来的属性方面,第一个字符为[-]
    依照文件的内容,又可以分为:

    • 纯文本文件
    • 二进制文件
    • 数据文件:如linux在用户登录时会将登录的数据记录在/var/log/wtmp文件内,该文件是一个数据文件,可以通过last命令读取出来,但是使用cat时会出现乱码
  • 目录:第一个属性为[d]

  • 链接文件:属性为[l]

  • 设备与设备文件
    与系统周边及存储等相关的一些文件,通常都集中在/dev目录下,通常又分为两种

    • 区块设备文件:第一个属性为[b]。就是一些存储数据,以提供系统随机存取的接口设备 在这里插入图片描述

    • 字符设备文件:第一个属性为[c]。一些串行端口的接口设备,如键盘、鼠标等。这些设备的特点就是一次性读取,不能截断输出。
      在这里插入图片描述

  • 数据接口文件(sockets):第一个属性为[s],通常在/run或/tmp这些目录中看到这种文件类型。这类文件通常被用在网络上的数据交换。我们可以启动一个程序来监听客户端的要求,而客户端可以通过socket来进行数据的沟通

  • 数据输送文件(FIFO, pipe):FIFO也是一种特殊的文件类型,她主要的目的是解决多个程序同时读写一个文件所造成的错误问题,FIFO也是先进先出的缩写,即管道,第一个属性为[p]

linux文件扩展名

linux文件是否能执行与扩展名无关,只要有[x]权限即可,但是可以被执行与可执行成功是不一样的,故[x]只是代表这个文件具有可执行的能力,但是能不能执行成功,就要看该文件的内容了

但是,一般扔希望可以通过扩展名来了解该文件是什么东西,故还是以适当的扩展名来表示文件是什么种类

  • 一些常用扩展名
    • .sh:脚本或批处理文件
    • .Z、.tar、.tar.gz 、 .zip、 .tgz:经过打包的压缩文件
    • .html、.php:网页相关文件

linux目录配置

Linux目录配置的依据——FHS

为了让用户可以了解到已安装软件通常放置于哪个目录下,方便企业公司管理,便诞生了FHS标准

相关文章:

linux文件权限与目录配置

用户与用户组 linux一般将文件可读写的身份分为三个类别:拥有者(owner)、所属群组(group)、其他人(other) 三种身份都有读、写、执行等权限 文件拥有者 linux是个多人多任务的系统&#xff0c…...

2023年10月wxid转微信号方法

在9月份tx做了一次调整,以前很多wxid转微信号的办法都失效了。 今天分析了一下微信。捣鼓了一下午。现在已经实现了wxid转微信号。不管对方是否在群里,是否是你的好友 都能转。一分钟出60条左右。 我们先创建一个文本文件,将要转换wxid 放进…...

【Spring Boot 源码学习】@Conditional 条件注解

Spring Boot 源码学习系列 Conditional 条件注解 引言往期内容主要内容1. 初识 Conditional2. Conditional 的衍生注解 总结 引言 前面的博文,Huazie 带大家从 Spring Boot 源码深入了解了自动配置类的读取和筛选的过程,然后又详解了OnClassCondition、…...

jupyter_快速开始

文章目录 使用 Anaconda 启动 jupyter-lab纯 python 环境使用 jupyter-notebook纯 python 环境使用 jupyter-labjupyter-lab 配置文件相关jupyter-notebook 配置文件相关jupyter-lab 与 jupyter-notebook 的关系与区别 使用 Anaconda 启动 jupyter-lab 启动一个cmd 命令行&…...

英特尔 SGX 技术概述

目录 介绍概述指示结构Memory安全区页面缓存Enclave Page Cache (EPC)安全区页面缓存映射Enclave Page Cache Map (EPCM) Memory ManagementStructures页面信息Page Information (PAGEINFO)安全信息Security Information (SECINFO)分页加密元数据Paging …...

SpringBoot核心功能与基础配置

SpringBoot简介 原先的Spring程序缺点,包括依赖设置繁琐,每项jar的引用都需要自己撰写。并且配置繁琐,配置文件中也需要自己写加载bean等。由此针对原始的Spring程序,Pivotal团队提供的全新框架——SpringBoot,其设计…...

vue3后台管理框架之Mock开发

前言 在前后端对接中,有时后端的接口数据没有 那么快能给出,因此我们可以通过mock模拟自己的请求数据,在后端接口没有给出的同时,先使用mock请求的数据完成前端相关的逻辑 官方文档:vite-plugin-mock vite 的数据模…...

03_51单片机点亮LED灯

51单片机是一种非常常见的单片机型号,广泛应用于各种嵌入式系统和电子设备中。LED灯是一种常见的输出设备,用于显示信息或指示状态。下面是关于51单片机控制LED灯的介绍: 1. 连接LED灯:将LED的正极连接到51单片机的一个I/O引脚&a…...

【前端设计模式】之备忘录模式

备忘录模式是一种行为设计模式,它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。在前端开发中,备忘录模式可以用于保存和恢复用户界面的状态,以及实现撤销和重做功能。 备忘录模式特性: 封装了对象的状态:备…...

复习Day15:栈与队列part02:20. 有效的括号、1047.删除字符串中所有相邻重复项

我用的方法是在leetcode再过一遍例题,明显会的就复制粘贴,之前没写出来就重写,然后从拓展题目中找题目来写。辅以Labuladong的文章看。然后刷题不用CLion了,使用leetcode自带的IDE模拟面试环境。 历史博客链接: http…...

基于Java的宠物商城管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…...

Python的GIL存在的情况下,是否还有必要添加线程锁。

GIL锁的产生: 为了保证在单线程情况下,Python的正常执行和效率,GIL锁产生了,由于只有一把锁就不会产生死锁也不用切换。 对于Python语言而言,只有CPython解释器(用C语言编写的Python解释库)存在…...

基于下垂控制的孤岛双机并联逆变器环流抑制MATLAB仿真模型

微❤关注“电气仔推送”获得资料(专享优惠) 在实际应用中逆变器都是并联运行的,但是逆变器的并联运行也存在不少问题,由于线路阻抗差异、各个逆变器输出端瞬时电压幅值不同等,都容易导致环流的出现。环流会导致逆变器损耗增加,从而影响微电网的输出效率…...

spring事务面试题

1.Spring 事务实现方式有哪些? 事务就是一系列的操作原子操作,Spring事务机制主要 包括声明式事务和编程式事务。 编程式事务:通过编程的方式管理事务,自己设置未提交模式,自己获取连接,自己预编译,自己回…...

C++标准库算法整理

目录 1、数值操作 1.1、std::accumulate 1.2、std::inner_product 1.3、std::partial_sum 1.4、std::exclusive_scan 1.5、std::inclusive_scan 1.6、std::reduce 2、相邻元素 2.1、std::adjacent_difference 2.2、std::adjacent_find 2.3、std::unique 2.4、std::u…...

【Codeforces】Codeforces Round 903 (Div. 3)【待补】

Dashboard - Codeforces Round 903 (Div. 3) - Codeforces Problem - C - Codeforces Problem - D - Codeforces...

workerman 运行时报错 Call to undefined function posix_getpid()

使用 验证php扩展是否齐全 curl -Ss https://www.workerman.net/check | php缺少posix 下载 在 Linux 系统上,可以使用包管理器来安装 php-posix 扩展,例如 Ubuntu 系统可以通过以下命令进行安装: sudo apt-get install php-posix如果你使用…...

【探讨C++中的临时对象:一时之物还是永恒之道?】

在C编程中,临时对象是一个经常引起讨论的话题。它们是什么,为什么它们存在,以及如何正确使用它们?本文将深入探讨C中的临时对象,帮助您理解它们的含义和用途。 什么是临时对象? 临时对象(Temp…...

二叉树相关算法

1、二叉树基本操作 二叉树的定义就不在这里多说了,下面这个图就是一个简单的二叉树: 二叉树的三种遍历方式: 前序遍历:头左右,也就是先头后左再右:1245367 public static void prePrint(BinaryTreeNode …...

Vue_Bug npm install报错 code:128

Bug描述: npm install报错 code:128 npm ERR! Warning: Permanently added ‘github.com’ (ED25519) to the list of known hosts. npm ERR! gitgithub.com: Permission denied (publickey). npm ERR! fatal: Could not read from remote repository. n…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

三体问题详解

从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

【HTTP三个基础问题】

面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​:Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...

LangFlow技术架构分析

🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 ​二、实现思路 总体思路: 用户通过Gradio界面上…...