Linux 文件权限讲解

news2024/11/25 18:51:20

目录

文件的一般权限

一般权限有哪些

使用ls -l查看文件/目录权限

配置一般权限和文件所属信息

chmod 修改文件权限

chown 修改文件所属信息(所有者和所属组)

文件特殊权限

SUID 针对所有者的特殊权限

SGID

SBID

配置特殊权限

文件的隐藏权限

chattr 配置/删除文件的隐藏权限

lsattr 查看文件的隐藏权限

文件访问控制列表权限

setfacl 管理文件的facl

getfacl 查看文件的facl


文件的一般权限

文件的执行者   执行文件的用户

文件的所有者   默认为创建文件的用户

文件的所有组   默认为创建文件的用户所属的用户组

一般权限有哪些

相同权限对于文件与目录所代表的含义会有不同

read 读取权限

         对于一般文件  有此权限用户就可以读取文件内容(例如 cat命令)

      对于目录      有此权限的用户就可以显示目录下的文件列表(例如 ls命令)

write 写入权限

         对于一般文件  有此权限用户就可以编辑文件的内容(例如 vim命令)

      对于目录      有此权限用户就可以在目录下新建、剪切、删除文件(例如touch、mv、rm等命令)

execute 执行权限

         对于一般文件   有此权限用户就可以执行这个脚本文件(例如 . /脚本名 运行脚本)

      对于目录       有此权限用户就能够进入到目录(例如cd命令 进入目录)

注意事项

W权限可以单独设置,只对文件进行写入操作 (通过重定向实现)

使用ls -l查看文件/目录权限

- --- --- ---七个字段(文件类型与文件权限)  root文件所有者   root文件所属用户组

-   代表文件类型(linux不通过后缀来区分文件类型)

--- 代表文件所有者的权限

--- 代表文件所有组的权限,归哪个组所有,那么在这个组里面的用户都有此权限(不论这个组是用户的基本组还是扩展组都可以)

--- 代表其它用户,不是文件的所有者,也不属于文件所有组的用户,则就为其它用户

例如:通过 drwxr-xr-x 可以得到以下信息

     d    此文件为目录文件

     rwx  所有者对此文件的权限为rwx

     r-x  所属用户组对此文件的权限为r-x

     r-x  其它用户对此文件的权限为r-x

文件类型(属于文件属性)

-  一般文件(配置文件)

d  目录文件(文件夹)

l   链接文件(快捷方式)

p  管道文件(现在一般看不到)

b  块设备文件(硬盘、内存、光盘等)

c  字符设备文件(在/dev目录见的比较多)

权限与数字的对应关系

r = 4、w = 2、x = 1

rwxr-xr-x  所代表的数字为7(rwx)5(r-x)5(r-x)

使用数字的方式在进行权限配置时比较方便

配置一般权限和文件所属信息

chmod 修改文件权限

chmod 权限(数字形式) 文件名  对此文件修改权限

chmod -R 权限(数字形式) 文件名  对目录下的所有文件与子目录进行相同的权限变更

  -c  如果文件权限已经更改了,才显示文件权限的变更信息

-v  显示文件权限的变更信息(无论文件权限是否变更)

 -f  即使文件权限无法被更改也不显示错误信息

chmod 631 123  修改123文件的一般权限为rw--wx-x

 

chmod -v 777 123 将123文件的一般权限更改为777,并 显示详细信息

chown 修改文件所属信息(所有者和所属组)

chown 文件所有者:文件所属组 文件名     修改文件的所有者和文件所属组

  老版(5)的chown命令:chown 文件所有者.文件所有组 文件名(使用.做间隔)

  -R  对目录下的所有文件与子目录进行相同的所属信息变更

  -c  如果文件所属信息已经更改了,才显示文件所属信息的变更信息

-v  显示文件所属信息的变更信息(无论文件所属信息是否变更)

 -f  即使文件所属信息无法被更改也不显示错误信息

 -h  只对链接文件进行变更(而非真正指向的文件)

  --version  显示此命令的版本信息


文件特殊权限

文件特殊权限是对一般权限的补充(由于管理员不受一般权限的控制,可以通过特殊权限来控制)-特殊权限会对管理员生效

SUID 针对所有者的特殊权限

设置此特殊权限后,所有者的执行权限字符用s或S表示(不用x或-表示)

s和S的区别如下

在配置特殊权限时,如果文件所有者没有执行权限,则配置SUID特殊权限后,文件所有者对此文件的执行权限为S(即如果所有者的权限为r--,配置suid特殊权限后,权限为r-S)

在配置特殊权限时,如果文件所有者有执行权限,则配置SUID特殊权限后,文件所有者对此文件的执行权限为s(即如果所有者的权限为r-x,配置suid特殊权限后,权限为r-s)

针对文件设置SUID权限

会让此文件的执行者临时获取到文件所有者的权限来完成某些工作

SUID必须只能是设置在二进制的可执行文件、脚本上,无法设置到目录上

SUID权限举例

/etc/shadow文件  保存的是用户的密码信息

我们发现用户没有此文件的权限,但是可以通过passwd修改密码, 这个是怎么做到的呢

我们是通过passwd命令来修改名密码的,而passwd的命令文件的所有者执行权限为s

这个s就指的是命令的SUID权限,当某个用户执行passwd命令的时候,他就临时获取到passwd文件所有者的权限

passwd文件所有者是管理员,而管理员不受一般权限控制,所以用户可以通过passwd更改密码;如果用户不使用passwd,则由于用户没有权限,无法修改命令

SGID

设置此特殊权限后,文件所属组执行权限为s或S(不用x或-表示,s和S的区别类似SUID)

针对文件设置SGID权限

让命令的执行者可以临时获取到文件所有组的权限来完成某些工作( 基本上不会使用)

SGID针对文件权限类似于SUID,只不过SGID使得用户临时获取用户组的权限

针对目录设置权限

目录下新建的文件的所有组,会自动继承目录的所有组,一般会把SGID的权限设置到目录上面

正常情况,新建文件的所有者和所有组都是自己(即使用新建命令的命令执行者)

SGID针对目录设置权限举例

在管理员下创建/etc/abc目录,并为此目录配置SGIB权限

然后登录到admin用户下,在/etc/abc目录下创建文件和目录,发现文件和目录的所属组都继承了/etc/abc的所属组,都为root

 

SBID

设置此特殊权限后,文件的其它用户的执行权限为t或T(不用x或-表示,t和T的区别类似SUID) SBID可以称为保护位

针对文件或目录设置SBID

设置SBID特殊权限后,就可以确保用户只能够删除自己的文件,而不能删除其它用户的文件

SBID权限举例

chmod 1777 /etc/123 配置文件/etc/123的一般权限为rwxrwxrwx,并配置特殊权限SBID

综合得到文件的权限就为rwxrwxrwt

此时其它用户虽然有文件的权限,但是由于SBID权限的显示,使得用户无法删除此文件

配置特殊权限

参数方式

 suid  u+s

 sgid  g+s

 sbit   o+t

 chmod u+s 文件名   设置文件配置suid权限

数字方式

 suid =  4

 sgid =  2

 sbit  = 1

在通过数字方式配置特殊权限时,需要特殊权限和一般权限结合来配置

chmod 1743 文件 为文件设置特殊权限为1(SBID),一般权限为743

chmod 5451 文件  为文件设置特殊权限为5(SUID+SGID),一般权限为451

即:如果要配置特殊权限SBID,原先的文件权限为rwxrwxrwx

此时配置命令就为 chmod 1777 文件命名 为此文件配置SBID特殊权限(最开头的1数字就代表特殊权限,此处指的是SBID;如果为5表示配置SUID和SBID)

配置完成后文件的权限就会变为rwxrwxrwt


文件的隐藏权限

文件的隐藏权限,默认看不到的权限(对管理员也生效)

chattr 配置/删除文件的隐藏权限

chattr +参数 文件名  配置文件隐藏权限

chattr - 参数 文件名  删除文件隐藏权限  

   i  无法对文件进行修改(只可以修改此文件的子文件,不能新建和删除此文件)

   a  仅允许向文件追加内容,无法覆盖、删除内容

 u  删除文件,可以恢复(保留在硬盘中的数据)

 s   彻底删除文件,不可恢复(用0填充原文件所在硬盘区域)

S   文件内容变更后立即同步到硬盘

A   不再修改这个文件或者目录的最后访问时间

b   不再修改这个文件或者目录的存取时间(atime)

D   检查压缩文件中的错误

d    使用dump命令备份时忽略本文件/目录

c    默认将文件或目录进行压缩

x    可以直接访问压缩文件的内容

chattr +a abc  文件abc只可以追加内容

lsattr 查看文件的隐藏权限

lsattr 文件

 -a 查看指定目录中全部文件的隐藏属性,包括隐藏文件

 -d 查看指定目录的隐藏属性

 -D 显示属性的名称、默认值

 -E  显示从用户设备数据库中获得属性的当前值

lsattr abc 查看文件abc的隐藏权限


文件访问控制列表权限

文件访问控制列表权限,facl(file access control list),

与一般、特殊、隐藏权限的区别

一般权限、特殊权限、隐藏权限  是对于所有人或某些人做限制的

一般权限 对某些人做限制

特殊权限  对所有人做限制

隐藏权限  对所有人做限制

文件访问控制列表能够针对一个用户以及一个文件来做精准的权限

当同一用户的一般权限与setfacl产生了歧义,setfacl的优先级最高

setfacl 管理文件的facl

setfacl -m u:用户名:权限 文件名  此文件针对某个用户单独设置权限

setfacl -b 文件名               删除此文件的所有扩展facl            

   -m 修改权限(权限设置不允许使用数字法)

       u  对用户进行设定

      g  对用户组进行设定

  -R  对目录设定facl

  -b  删除所有扩展facl

  -x  删除某个facl

  -X  从文件中读取facl并删除

  -k  移除默认facl

setfacl -m u:admin:rwx qwe  为用户admin配置针对文件qwe的rwx权限

setfacl -x u:admin qwe       删除用户admin针对文件qwe的facl

getfacl 查看文件的facl

getfacl 文件名   查看文件已经设置了哪些文件访问权限

 -a 同getfacl 文件名

 -c 显示文件的facl,不显示注释标题

 -R 显示目录的facl

 -d 显示文件默认的facl

getfacl -a qwe  显示qwe文件的facl

gerfacl -d qwe  显示qwe文件的默认facl

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

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

相关文章

智能网联汽车ASIL安全等级如何划分

目录一、功能安全标准二、功能安全等级定义三、危险事件的确定四、ASIL安全等级五、危险分析和风险评定六、功能安全目标的分解一、功能安全标准 ISO 26262《道路车辆功能安全》脱胎于IEC 61508《电气/电子/可编程电子安全系统的功能安全》,主要定位在汽车行业&…

qt 配置open3d

一、配置前要先编程open3d二、开始配置新建txt 把txt 修改为 pri在pro 文件中添加 include(F:/xuwanlu/control.pri)重新构建项目然后回多出来pri在pri中添加open3d目录INCLUDEPATH F:\open3d\include\Open3D\3rdparty\GLFW\include \F:\open3d\include\Open3D\3rdparty\gle…

Golang 给视频添加背景音乐 | Golang工具

目录 前言 环境依赖 代码 总结 前言 本文提供给视频添加背景音乐,一如既往的实用主义。 主要也是学习一下golang使用ffmpeg工具的方式。 环境依赖 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部署_阿良的博客-CSDN博客 …

当你按下方向键,电视是如何寻找下一个焦点的

我工作的第一家公司主要做的是一个在智能电视上面运行的APP,其实就是一个安卓APP,也是混合开发的应用,里面很多页面是H5开发的。 电视我们都知道,是通过遥控器来操作的,没有鼠标也不能触屏,所以“点击”的…

ChatGPT已应用到跨境电商领域,规模化运营指日可待

最近各大平台都卷起了一股“ChatGPT”的热潮,论坛、贴吧、微博甚至短视频都对这个新兴的东西津津乐道,在这些评论区里我们可以发现,不管说什么职业,不管年龄性别,ChatGPT都开始被许多人关注。那么ChatGPT到底是个什么东…

大数据框架之Hadoop:HDFS(五)NameNode和SecondaryNameNode(面试开发重点)

5.1NN和2NN工作机制 5.1.1思考:NameNode中的元数据是存储在哪里的? 首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低。因此&am…

FPGA入门系列17--task

文章简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码…

如何选择传感器输出模式——电流输出还是电压输出?

一 背景及挑战 传感器在汽车测试系统中发挥着信息的采集和传输作用,可以称为汽车的“神经元”。 按照功能可以将传感器分为压力传感器、流量传感器、温湿度传感器和电流传感器等。传感器的主要指标是精度、测量范围和响应时间等。在满足指标的情况下,通…

御黑行动来袭--助力三月重保,构筑安全防线!

三月重保在即,重要网站及业务系统“零风险 零事故”是终极目标,作为业界网络安全实战派“老兵”--知道创宇将一如既往,为您提供重保期间“万无一失”的重要网站及业务系统防护。 值此三月重保的重要备战期,知道创宇推出由主力产品…

高灵敏度压电传感器频率温度特性测量中的TEC型精密温控系统

摘要:为解决石英晶体微量天平这类压电传感器频率温度特性全自动测量中存在的温度控制精度差和测试效率低的问题,本文在TEC半导体制冷技术基础上,提出了小尺寸、高精度和全自动程序温控的解决方案,给出了温控装置的详细结构和实现高…

计算机网络常见面试题总结

网络分层结构 计算机网络体系大致分为三种,OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。 TCP/IP五层模型:应用层、传输层、网络层、数据链路层、物理层。 应用层:为应用程序提供交互服务。在互联网中的…

一、产品经理——【岗位和能力要求】【项目流程】【产品体验报告】

0. 产品经理课程路线图 产品基础阶段:核心目的是了解行业、掌握技能 1. 认识互联网行业 1.1. 传统行业 vs 互联网行业 1.2. 互联网行业概念 1.3. 小结 2. 认识产品经理 2.1. 不同场景下的产品经理的职责差异 公司团队、领导对产品经理的期望不同,做的…

交叉编译的概念及交叉编译工具的安装

目录 一.什么是交叉编译 二.为什么要交叉编译? 三.交叉编译链的安装 四.相关使用方法 五.软连接 一.什么是交叉编译 交叉编译是指将一种编程语言编写的程序编译成另一种编程语言的程序,通常是在不同的操作系统或硬件环境中使用的。这种编译过程会产…

【手写 Vuex 源码】第十一篇 - Vuex 插件的开发

一,前言 上一篇,主要介绍了 Vuex-namespaced 命名空间的实现,主要涉及以下几个点: 命名空间的介绍和使用;命名空间的逻辑分析与代码实现;命名空间核心流程梳理; 本篇,继续介绍 Vu…

GWAS:mtag (Multi-Trait Analysis of GWAS) 分析

mtag (Multi-Trait Analysis of GWAS)作用:通过对多个表型相似的GWAS summary结果进行联合分析,发现更多的表型相关基因座。 以抑郁症状、神经质和主观幸福感这三个表型为例,分别对他们进行GWAS分析,鉴定得到32、9 和 13个基因座与…

前端食堂技术周刊第 70 期:Volar 的新开端、Lighthouse 10、良好的组件设计、React 纪录片、2022 大前端总结

美味值:🌟🌟🌟🌟🌟 口味:黑巧克力 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 本期摘要 Volar 的新开端Chrome 110 的新功能Lighthouse 10Nuxt v3.2.0加速 JavaSc…

【github】解决超限制文件上传失败问题

之前因为push的一堆文件中有个104MB的大文件在里面,导致push一直失败一直失败超时又报错 一开始我还以为是VPN的问题,搞了好久都没解决 后来一步一步回撤发现是因为卡在了我那个104MB的文件这里 查阅了github的官方文档 关于 GitHub 上的大文件 - Git…

【计算机网络期末复习】第五章 传输层

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📣专栏定位:为想复习学校计算机网络课程的同学提供重点大纲,帮助大家渡过期末考~ 📚专栏地址: ❤️如果有收获的话,欢迎点…

运动蓝牙耳机怎么选、最适合运动的蓝牙耳机推荐

很多人喜欢跑步时听歌来放松心情起到解压效果。但一般的无线蓝牙耳机很容易脱落丢失,甚至因为防水效果太菜导致耳机进水,很容易就损坏耳机了,加上运动出汗给耳腔带来的黏腻感与长期佩戴引发的疼痛感,这时一款好的运动设备就显得尤…

基于ISO13400 (DoIP) 实现车辆刷写

近年来,在整车研发中基于以太网实现车辆高带宽通讯无疑是人们热议的话题。无论是车内基于车载以太网减少线束成本,实现ADAS、信息娱乐系统等技术,还是基于新的电子电气架构以及远程诊断需求,实现以太网诊断(DoIP&#…