Linux的文件权限理解

news2024/11/17 9:54:08

目录

前言

1、用户、用户组、其他人

1.1用户、用户组、其他人之间的概念理解

1.2Linux系统中有用户身份与用户组记录的文件

2、Linux文件权限概念

第一列

第二列

第三列

第四列

第五列

第六列

第七列

Linux文件权限的重要性

3、Linux的目录与文件的权限意义

权限于文件

权限于目录


前言

Linux的环境为一个多人多任务环境,因此出于各个用户之间的保密性原因,它的文件管理权限就显得十分重要。

Linux一般将文件可读写身份分为三种类别,分别为:

  1. 拥有者(owner)
  2. 所属群组(group)
  3. 其他人(others)

三种身份各有读(read)、写(writer)、执行(execute)等权限

1、用户、用户组、其他人

1.1用户、用户组、其他人之间的概念理解

文件拥有者(用户)、用户组与其他人之间的关系,用个人的理解来看即户主、家庭成员与客人之间的关系。

文件拥有者即一个家庭的一家之主,可以为文件设置适当的权限

用户组为家庭成员们,家庭中有一个客厅可以供大家一起使用,用户组的成员可以共同访问“客厅”内的文件

其他人可以看做是客人。它们不论进入“客厅”还是“私人房间”都需要对方的同意才可进入

需要注意的是在Linux系统中有一个特殊的身份为root,他可以去往任何“地方”,即文件位置

1.2Linux系统中有用户身份与用户组记录的文件

在Linux系统的默认情况下,所有系统上的账号与一般身份用户、以及root相关信息都记录在/etc/passw这个文件内,至于个人密码则记录在/etc/shadow这个文件内。Linux内的组名都记录于/etc/group中,这三个文件可以说是Linux中的账号、密码、用户组信息的集中地

  • /etc/passwd  记录账号信息
  • /etc/shadow  记录个人密码
  • /etc/group     记录用户组名

2、Linux文件权限概念

 注:ls为list的意思,是Linux中显示文件的命令(目录也为文件),-al为ls命令的选项,即显示隐藏文件和文件信息

第一列

在上图中我们可以看到dr-xr-x---这一列

d  r -  x  r -  x -  -   -

1 2 3 4 5 6 7 8 9  10

 通过观察,这一列一共为十位,这十位就代表了此文件的类型和权限

我们将它分成四个部分,即:

d   r-x   r-x   ---

1   2     3      4

这四个部分分别代表的是文件类型、拥有者权限、用户组权限、其他人权限

从上图可以得出:rwx所在的位置不会变,有该权限就会显示字符,没有该权限就会显示减号(-)

第一部分有以下符号及其代表含义:

  1. d 表示它为目录
  2. -  表示它为文件
  3. |  表示它为链接文件
  4. b 表示它为设备文件里的可供存储的周边设备(可按块随机读写的设备)
  5. c  表示它为设备文件里的串行端口设备,例如键盘、鼠标等等一次性读取设备

第二、三、四部分有符号及其代表含义:

  1. r   表示可读(read)权限
  2. w  表示可写(write)权限
  3. x   表示可执行(execute)权限

以.bash_logout为例:

它的文件类型与权限为:-rw-r--r--

第一部分为文件类型(它为文件)

第二部分为文件拥有者可具备的权限(该文件拥有者可以读写,但不可执行)

第三部分为加入此用户组之账号的权限(用户组的账号只有读取权限)

第四部分为非本人且没有加入此用户组的其他用户的权限(其他账号只有读取权限)

第二列

从上图中我们可以看到3这一列

它表示了有多少文件名链接到此节点(inode)

每个文件都会将它的权限与属性记录到文件系统的inode中,不过,我们使用的目录树确实使用文件名来记录,因此每个文件名就会链接到一个inode,这个属性记录的就是有多少不同文件名链接到相同的一个inode号码

第三列

从上图中我们可以看到root这一列

它表示这个文件(或目录)的拥有者账号

第四列

从上图中我们可以看到root这一列

它表示这个文件的所属用户组

在Linux系统下,你的用户会加入一个或多个的用户组中

第五列

从上图中我们可以看到128这一列

它表示这个文件的容量大小,默认单位为Bytes

第六列

从上图中我们可以看到Jan 28这一列

它表示这个文件的创建日期或是最近的修改日期

这一栏的内容分别为日期(月/日)及时间,如果这个文件被修改的时间距离现在太久,那这部分只会显示年份而已

第七列

从上图中我们可以看到 . 这一列

它表示这个文件(或目录)的文件名(或目录名)

.表示当前目录

..表示上一层目录

如果文件名之前多了一个 . 则表示这个文件为隐藏文件

Linux文件权限的重要性

每个文件上面都添加了很多属性以及用户组的概念,其最大的用途为提高数据安全性

  • 系统保护功能

比如:关于系统服务的文件通常只有root才能读写或执行

root基本上不受系统的权限所限制,因此无论文件权限是什么,root默认都可以读写

  • 团队开发软件或数据共享的功能

可以利用用户组来设置团队开发,已达到团队内的人可以使用某一目录下的文件,而团队以外的人不予以开放

  • 未将权限设置妥当的危害

权限设置妥当的处理可以防止造成其他人在系统上乱搞的现象

比如只有root才能做得开关机、ADSL的拨号程序、新增或删除用户等命令被改成了任何人都可使用的状态下,可能会导致系统莫名其妙的挂掉等等情况出现

3、Linux的目录与文件的权限意义

文件权限对于一般文件和目录文件的不同挺大的,所以需要注意下

权限于文件

r(read):可以读取此文件的实际内容

w(write):可以编辑、新增或是修改该文件的内容

x(execute):该文件具有可以被系统执行的权限

需要注意的事,在Windows系统下一个文件是否能够执行是根据文件的扩展名判断的,但在Linux下是由【x】这个权限来决定的

对于文件来说,rwx主要都是针对文件的内容而言,与文件名的存在与否没有关系,因为文件记录的是实际的数据

权限于目录

目录的主要内容为记录文件名列表,文件名与目录有强烈联系

r:表示具有读取目录结构列表的权限,比如使用ls把目录的内容列表显示出来

w:表示具有改动该目录结构列表的权限,也就是建立新的文件与目录、删除已经存在的文件与目录(无论该文件的权限是什么)、将已存在的文件或目录进行重命名、移动该目录内的文件、目录位置这些权限

x:表示用户是否能够进入该目录成为工作目录

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

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

相关文章

计算机图形学 第5章 二维变换与裁剪到Cohen-Sutherland直线裁剪算法

目录学习目标前驱知识规范化齐次坐标二维几何变换矩阵物体变换与坐标变换二维几何变换二维图形基本几何变换矩阵平移变换矩阵比例变换矩阵旋转变换矩阵反射变换矩阵错切变换矩阵二维仿射变换二维复合变换相对于任意方向的二维几何变换二维图形裁剪世界坐标系2.用户坐标系观察坐…

VSCode中设置Python语言自动格式化的方案

安装Python扩展 在VSCode的扩展(Externsions)中使用下面命令检索Python扩展 category:debuggers Python 打开一个Python文件,可以在VSCode的右下角看到运行环境。 安装PEP8 python3.10 -m pip install -U autopep8 安装Flake8 python3.10 …

上百个数字经济新场景 低代码完美搭建 实现项目落地

数字经济 自人类社会进入信息时代以来,数字技术的快速发展和广泛应用衍生出数字经济(Digital Economy)。与农耕时代的农业经济,以及工业时代的工业经济大有不同,数字经济是一种新的经济、新的动能,新的业态,其引发了社…

MicroBlaze系列教程(3):AXI_TIMER的使用

文章目录 @[toc]AXI_TIMER简介常用函数使用示例参考资料工程下载本文是Xilinx MicroBlaze系列教程的第3篇文章。 AXI_TIMER简介 AXI_TIMER支持两路可编程32位计数器,可以配置为中断、捕获、PWM模式,两个32位计数器可以级联为一个64位计数器。 IP核支持的最高频率: 常用…

nacos 服务发现获取列表源码分析

nacos 服务发现获取列表源码是注册中心最重要的技术点之一,其获取服务列表理论上是在首次接口调用时获取,有时候配置饥饿加载,即服务启动时就获取服务列表:今天我们从一个入口解析获取配置列表; 一、客户端源码 1、自动装配&…

推荐系统之推荐缓存服务

5.6 推荐缓存服务 学习目标 目标 无应用 无 5.6.1 待推荐结果的redis缓存 目的:对待推荐结果进行二级缓存,多级缓存减少数据库读取压力步骤: 1、获取redis结果,进行判断 如果redis有,读取需要推荐的文章数量放回&am…

(深度学习快速入门)第四章第一节:基础图像处理知识

文章目录一:位图和矢量图二:图像分辨率三:颜色模式(1)RGB(2)HSB(2)灰度图四:通道五:亮度、对比度和饱和度六:图像平滑和锐化&#xff…

D3股权穿透图

前言:最近做了一个项目,主要就是实现各种类似企查查的各种图谱,欢迎交流。后期将完成的谱图全部链接上,目前已大致实现了: 【企业关系图谱】、【企业构成图谱】、【股权穿透图】、【股权结构图】、【关联方认定图】 准…

【蓝桥杯基础题】2018年省赛—日志统计

👑专栏内容:蓝桥杯刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录一、题目描述1.问题描述2.输入格式3.输出格式4.一个例子二、题目分析1、暴力法2、双指针三、代码汇总1、暴力代码汇总2、双…

【Mysql第一期 数据库概述】

文章目录1. 为什么要使用数据库2. 数据库与数据库管理系统2.1 数据库的相关概念2.2 数据库特点2.3SQL优点3.常见的数据库介绍1.Oracle2.SQL Server3.MySQL4.Access5.DB26.PostgreSQL7.SQLite8.informix4. MySQL介绍4.1Mysql重大历史事件4.2 关于MySQL 8.04.3 Why choose MySQL?…

linux内核读文件代码分析

linux下“一切皆文件”,所有设备都可以被抽象成文件,用户态可以通过open、read、write、llseek等api操作一个文件,通过系统调用进入内核态,最终访问到pagecache/磁盘上的数据,然后返回给用户态。 kernel version:v6.2-rc4 社区master主干 用户态应用程序调用read接口,通…

【转载】车载传感器与云端数据交换标准SensorIS的理解与使用

原文 https://zhuanlan.zhihu.com/p/386277784 1、什么是SensorIS?SensorIS全称是Sensor Interface Specification,翻译为中文就是传感器接口规范,是由来自全球汽车行业的主机厂、地图和数据提供商、传感器制造商和电信运营商共同组成的开放团体发布的一…

JavaEE day10 初识SpringMVC

JSON简介 JSON :JavaScript Object Notation JS对象表示法 是轻量级的文本数据交换格式,但是JSON仍然独立于语言和平台。其解析器和库支持许多不同的编程语言。目前非常多的动态编程语言(java,PHP)都支持JSON。JSON…

禅道好用吗?优缺点及类似10大项目管理系统介绍

类似禅道的十大项目管理软件:1、一站式研发项目管理软件PingCode;2、通用型项目协作工具Worktile;3、开源项目管理软件Redmine;4、免费项目管理软件Trello;5、无代码项目管理软件Monday;6、IT项目追踪管理工…

面试宝典-数据库基础

数据库基础前言一、数据库1.1 sql练习题1.2 sql语句执行顺序1.3 sql语句编写前言 本文主要记录B站视频视频链接的内容,做到知识梳理和总结的作用,项目git地址。 一、数据库 1.1 sql练习题 user表数据: idusername1张三2李四3王五4小刘 user_role表数…

CrackQL:一款功能强大的图形化密码爆破和模糊测试工具

关于CrackQL CrackQL是一款功能强大的图形化密码爆破和模糊测试工具,在该工具的帮助下,广大研究人员可以针对密码安全和应用程序安全进行渗透测试。 除此之外,CrackQL同时也是一款通用的GraphQL渗透测试工具,它可以控制速率限制…

垃圾分类智能分析系统 yolov7

垃圾分类智能分析系统应用pythonyolov7网络模型深度学习识别技术,自动识别违规投放行为并现场进行语音提示实时预警。如垃圾满溢抓拍预警、人脸识别、工服识别、厨余垃圾混投未破袋识别预警、垃圾落地识别预警、人来扔垃圾语音提醒等。我们选择当下YOLO最新的卷积神…

数组去重的七种方法

数组去重的七种方法1. 双重for循环2. forindexOf3.es6 set4.filter5.includes6.创建一个新的object7.new Map()1. 双重for循环 第1种是定义一个新的空数组,再执行嵌套双循环,监测空数组中如果没有的元素,push进空数组中。这个方法考察了conti…

AcWing - 寒假每日一题2023(DAY 16——DAY 20)

文章目录一、AcWing 4455. 出行计划(简单)1. 实现思路2. 实现代码二、AcWing 4510. 寻宝!大冒险!(简单)1. 实现思路2. 实现代码三、AcWing 3422. 左孩子右兄弟(中等)1. 实现思路2. 实…

【MySQL】过年没有回老家,在出租屋里整理了一些思维导图

Xmind导图知识点Mysql知识点SQL知识点Mybatis知识点面试题分享MySQL部分Mybatis部分Mysql知识点 通过下面的图片可以看出,MySQL基础语法分为四部分:连接数据库,对数据库的操作,对表中的数据操作,对表操作等等。 SQL…