[Linux]文件属性和权限

目录

  • 一.Linux文件的属性
  • 二.Linux用户权限分类
  • 三.文件权限的查询与修改
    • 1.修改用户的权限
      • 1).一般法
      • 2).8进制法
    • 2.修改所属组和所属者
    • 3.如何在创建文件时权限预分配

在学习linux的时候,我们用ll命令显示文件的详情信息,难免会发现文件名前面会有一大堆其它的字符,那么这些字符的具体含义是什么呢?

请添加图片描述

一.Linux文件的属性

Linux下的文件名包含的信息与windows并不相同
eg:
就好比 test.txt
在windows下可以清晰的看到是txt格式,改变后缀就改变了文件类型
在Linux下,后缀仅仅只能用来给使用者提示这是什么文件类型,你改变后缀,他并不会改变文件的类型
linux下文件类型的查询,可以通过 ll查询文件详情信息
请添加图片描述
红框框起来的就是文件的属性(第一列的字母)

类型含义
 -普通文件(文本文件,二进制文件,程序等)
d目录文件(directory的缩写)
l链接文件(就是windows下的快捷方式)
c字符设备文件
b块设备文件(硬盘,光驱等的交互)
p管道文件(进程间的交互)

目前我们见到最多的就是前面3个文件格式。

二.Linux用户权限分类

一个文件的使用是需要权限进行约束的,权限不分明的系统会导致用户使用和管理上的紊乱。

那么Linux下共有多少种用户权限的分类呢
1.root: 超级用户,拥有最高权限,其他用户能干的他能干,其他用户不能干的他也能干。
2.owner: 文件的所属者。
3.group: 组内所有用户共享对该文件的权限。
4.other: 陌生人,不属于以上的所有类。

三.文件权限的查询与修改

请添加图片描述
将文件类型以后的9个字符,3个一组,分为3组
其中

名称功能
r读取权限
w写入权限
x运行权限
-无权限

其中
第一组rwx是 所属者(owner) 的权限
第二组rwx是 所属组(group) 的权限
第三组rwx是 其他人(others) 的权限
rwx可以任意搭配,可以是r-x,r–,rw–,–x等等,每一个组合都对应着该用户的权限分配。
文件的 所属者和所属组 在哪儿能看到呢
请添加图片描述
既然已经可以查询了,那么我们可以修改吗。
0.root不受文件权限约束。
1.所属者和root可以对文件的各个用户权限进行修改。
2.root可以直接改变文件的所属者,所属者也可以(但是需要接受文件的人同意,才能转交所属权)。
3.所属者可以改变文件的所属组成员。

1.修改用户的权限

1).一般法

通过

chmod u+x filename

来实现增加权限给所属者
chmod[用户]±[对应权限] [文件名]
[用户]u为所属者,g为所属组,o为其他人,a为所有人
± :增加和减少相应权限
[对应权限]:rwx-

2).8进制法

其实 rwx 的底层逻辑就是一个8进制数
r-x,rw-,–x,-w-等等,一共就只有8中不同的排列情况,
比如说:
0 就代表—
1 就代表–x
2 就代表-w-

以此类推
所以我们可以使用 xxx这样的三个八进制数一 一对应我们的所属者,所属组,其他人

chmod 777 filetest

表示将filetest的所属者,所属组,其他人依次赋权rwx。
chmod [3位8进制数] [文件名]

2.修改所属组和所属者

chown   [用户名]    [文件名]
chgrp   [用户名]    [文件名]

chown 改变所属者
chgrp 改变所属组
ps:要root权限我们才能去直接改变我们的所属者。

3.如何在创建文件时权限预分配

新建文件默认权限=0666
新建目录默认权限=0777
前面的0 大可不必理会,0相当于时表示666是8进制的意思
但是我们发现,我们touch或者mkdir时的文件和目录的权限其实并不等于666和777
这是因为我们的 权限掩码(umask)
可以通过

umask

查看我们的权限掩码
在这里插入图片描述
我们真正的权限=默认权限&(~权限掩码)
ps(&是按位与,~是按位取反,别忘了qwq)
可以通过

umask  [你自订的掩码大小]

即可修改权限掩码

创作不易恳请留赞👍,有赞必回
(*´∀` )~♥

(*´∀`)~♥

(*´∀`)~♥

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ElK 8 收集 MySQL 慢查询日志并通过 ElastAlert2 告警至飞书

文章目录 1. 说明2. 启个 mysql3. 设置慢查询4. filebeat 设置5. 触发慢查询6. MySQL 告警至飞书 1. 说明 elk 版本:8.15.0 2. 启个 mysql docker-compose.yml 中 mysql: mysql:# restart: alwaysimage: mysql:8.0.27# ports:# - "3306:3306&q…

springSecurity权限控制

权限控制:不同的用户可以使用不同的功能。 我们不能在前端判断用户权限来控制显示哪些按钮,因为这样,有人会获取该功能对应的接口,就不需要通过前端,直接发送请求实现功能了。所以需要在后端进行权限判断。&#xff0…

力扣打卡9:重排链表

链接:143. 重排链表 - 力扣(LeetCode) 这是一道操作链表的题。按照要求,我们可以将解题的步骤分成三步。 1.找链表中间结点(我使用了快慢指针寻找),并断开。 2.现在有2链表,将后段…

计算机键盘的演变 | 键盘键名称及其功能 | 键盘指法

注:本篇为 “键盘的演变及其功能” 相关几篇文章合辑。 英文部分机翻未校。 The Evolution of Keyboards: From Typewriters to Tech Marvels 键盘的演变:从打字机到技术奇迹 Introduction 介绍 The keyboard has journeyed from a humble mechanical…

【Appium报错】安装uiautomator2失败

目录 1、通过nmp安装uiautomator2:失败 2、通过 Appium 的平台直接安装驱动程序 3、通过pip 来安装 uiautomator2 1、通过nmp安装uiautomator2:失败 我先是通过npm安装的uiautomator2,也显示已经安装成功了: npm install -g …

SSM整合原理实战案例《任务列表案例》

一、前端程序搭建和运行: 1.整合案例介绍和接口分析: (1).案例功能预览: (2).接口分析: 学习计划分页查询 /* 需求说明查询全部数据页数据 请求urischedule/{pageSize}/{currentPage} 请求方式 get 响应的json{"code":200,"flag":true,"data&…

Chrome扩展程序开发示例

项目文件夹内文件如下: manifest.json文件内容: {"manifest_version": 3,"name": "我的法宝","description": "我的有魔法的宝贝","version": "1.0","icons": {"…

石头剪子布

石头剪子布 C语言实现C实现Java实现Python实现 💐The Begin💐点点关注,收藏不迷路💐 石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲&…

RabbitMQ核心概念及工作流程 + AMQP

文章目录 一. RabbitMQ核心概念1. Producer, Consumer, Broker2. Connection和Channel3. Virtual host4. Queue5. Exchange 二. RabbitMQ的工作流程三. AMQP四. web界面操作对用户操作对虚拟机操作 一. RabbitMQ核心概念 RabbitMQ是⼀个消息中间件, 也是⼀个⽣产者消费者模型.…

js循环导出多个word表格文档

文章目录 js循环导出多个word表格文档一、文档模板编辑二、安装依赖三、创建导出工具类exportWord.js四、调用五、效果图js循环导出多个word表格文档 结果案例: 一、文档模板编辑 二、安装依赖 // 实现word下载的主要依赖 npm install docxtemplater pizzip --save// 文件操…

字节高频算法面试题:小于 n 的最大数

问题描述(感觉n的位数需要大于等于2,因为n的位数1的话会有点问题,“且无重复”是指nums中存在重复,但是最后返回的小于n最大数是可以重复使用nums中的元素的): 思路: 先对nums倒序排序 暴力回…

windows11 实现Hyper-v ubuntu22.04 GPU虚拟化(GPU分区、GPU-P)教程

注:1、本文提到的vGPU、GPU分区都是指的微软的GPU-P技术。 2、在实操过程中,发现网上的很多文章要么记录不全,要么描述不清楚,导致的结果就是根本没法走通。希望通过该文章能解决小伙伴们在实操中遇到的一些坑。 前提说明 1、物理机需要支持SR-IOV,在主板BIOS中可以通过…

AndroidStudio-常见界面控件

一、Button package com.example.review01import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.TextViewclass Review01Activity : AppCompatActivity() {override fun onCreate(savedInstanceStat…

沐风老师3DMAX摄相机阵列插件使用方法

3DMAX摄相机阵列插件,从网格对象或样条线的顶点法线快速创建摄相机阵列。该插件从网格的顶点或样条线的节点获取每个摄影机的位置和方向。 3DMAX摄相机阵列插件支持目前3dMax主流的物理相机、标准相机、VRay物理相机。 【版本要求】 3dMax 2015及更高版本 【安装方…

记录一下,解决js内存溢出npm ERR! code ELIFECYCLEnpm ERR! errno 134 以及 errno 9009

项目是个老项目,依赖包也比较大,咱就按正常流程走一遍来详细解决这个问题,先看一下node版本,我用的是nvm管理的,详细可以看我的其他文章 友情提醒:如果项目比较老,包又大,又有一些需…

飞飞5.4游戏源码(客户端+服务端+工具完整源代码+5.3fix+5.4patch+数据库可编译进游戏)

飞飞5.4游戏源码(客户端服务端工具完整源代码5.3fix5.4patch数据库可编译进游戏) 下载地址: 通过网盘分享的文件:【源码】飞飞5.4游戏源码(客户端服务端工具完整源代码5.3fix5.4patch数据库可编译进游戏) 链…

springboot的 nacos 配置获取不到导致启动失败及日志不输出问题

前言 问题 1. 本地启动应用时,一切正常,但是部署 docker 后,会因为获取不到 nacos 中的配置导致服务启动失败。 2.当 docker 中的服务一直重启,可能会突然某一次启动成功,之后只要不重新构建 docker 镜像&am…

Docker Compose实战一( 轻松部署 Nginx)

通过过前面的文章(Docker Compose基础语法)你已经掌握基本语法和常用指令认识到Docker Compose作为一款强大工具的重要性,它极大地简化了多容器Docker应用程序的部署与管理流程。本文将详细介绍如何使用 Docker Compose 部署 Nginx&#xff0…

汽车IVI中控OS Linux driver开发实操(二十八):回声消除echo cancellation和噪声消除Noise reduction

概述: 在当今高度互联的世界中,清晰的实时通信比以往任何时候都更重要。在远程团队会议期间,没有什么能像回声一样打断对话。当说话者听到他们的声音回响时,可能会分散注意力,甚至无法理解对话。即使是很小的回声也会产生很大的影响,仅仅25毫秒的振幅就足以造成声音干扰…

计算机毕设-基于springboot的实践性教学系统设计与实现(附源码+lw+ppt+开题报告)

博主介绍:✌多个项目实战经验、多个大型网购商城开发经验、在某机构指导学员上千名、专注于本行业领域✌ 技术范围:Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战…