理解Linux文档属性、拥有者、群组、权限、差异知识点小结
写在前面
我们都知道Linux是一个支持多用户、多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机,同时,为了保护每个人的隐私和工作环境,针对某一个文档(文件、目录),Linux系统定义了三种身份,分别是拥有者(owner)、群组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable),通过这样的设计就可以保证每个使用者所拥有数据的隐密性。
文档属性
使用命令ls -al --full-time,或者此命令的简写ll可以查看文件或者目录的所有属性。如下:

从上面可以看到,每一行都有7列,分别是:
- 第一列
共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、excutable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可写,其他人没有任何权限。 - 第二列
表示连结数 - 第三列
表示拥有者 - 第四列
表示所属群组 - 第五列
表示文档容量大小,单位字节 - 第六列
表示文档最后修改时间,注意不是文档的创建时间哦 - 第七列
表示文档名称。以点(.)开头的是隐藏文档
变更拥有者(owner)
位置
etc/passwd

注意:必须是该位置下已存在的帐号。也就是在/etc/passwd中有记录的拥有者才能改变。
语法
chown [-R] [帐号名称] [文件或目录]
chown [-R] [帐号名称]:[群组名称] [文件或目录]
备注:此命令也可以顺便变更文档群组,但还是建议使用chgrp命令来变更文档群组。
选项
-R 递归变更,即连同次目录下的所有文件(夹)都要变更。
用法
chown daemon test 变更文件夹test账号为daemon。

chown daemon:root test 变更文件夹test群组为root。

chown root.users test 变更文件夹账号为root,群组为users

chown .root test 单独变更群组为root

备注:虽然也可以在拥有者与群组间加小数点(.),但为了避免有的同学命名中带点,故还是建议使用冒号“:”来隔开拥有者与群组,避免误判。
变更群组(group)
位置
etc/group

备注:从这里可以查看到所有群组
语法
chgrp [-options] [群组名] [文档路径]
备注:关于options,可以通过man chgrp、info chgrp、chgrp --help等命令查询详细用法。
用法
chgrp -R users test 改变test文件夹及其所有子文件(夹)的群组为users。

注意:群组名称不在位置内,将会报错invalid group。

变更权限
Linux文档的基本权限就三个,分别是read/write/execute,加上身份owner/group/others也一共也只有九个。权限变更的方式有2种,分别是符号法和数字法。
符号法
分别使用u,g,o来代表三种身份,a表示全部身份;分别使用r、w、x表示三种权限;分别使用+、-、=表示操作行为
语法
chmod | u g o a | +(加入) -(除去) =(设置) | r w x | 文档路径
设置权限(=)
变更目录test的权限为任何人都可读、写、执行。
chmod u=rwx,g=rwx,o=rwx test
或
chmod ugo=rwx test
或
chmod a=rwx test

去掉权限(-)
去掉目录test执行权限
chmod u-x,g-x,o-x test
或
chmod ugo-x test
或
chmod a-x test

备注:执行权限(x),对目录而已就是其他用户能否cd test成为工作目录。
添加权限(+)
增加目录test执行权限
chmod u+x,g+x,o+x test
或
chmod ugo+x test
或
chmod a+x test

备注:很熟悉吧,如果我们编写完一个shell文件test.sh后,通过chmod a+x test.sh就添加了文件执行权限。
数字法
顾名思义,就是使用数字来代表权限,r,w,x分别为4,2,1。三种权限累加就可以得出一种身份的权限。
设置目录test的权限为任何人都可读、写、执行。
chmod 777 test

设置目录test的权限为任何人都可读、写。
chmod 666 test
赋予一个shell文件test.sh可执行权限,拥有者可读、写、执行,群组账号和其他人可读、执行。
chmod 755 test
备注:有没有发现数字法更简单啊!!!
文件和目录权限差异
文档权限对于文件和目录有巨大的差异
文件
针对的是该文件内容
- readable 可读取该文件的实际内容
- writable 可以编辑、新增或者是修改该文件的内容
- executable 有可以被系统执行的权限
备注:具有w权限不并不代表可以删除文件,删除文件是目录权限控制的范围。那是因为目录的相关权限及属性是记录到目录的inode,而目录下的所有文件的名称和对应的索引文件(inode)号码又是记录到目录所属的block中,所以当我们读取某个文件时,必须先读到目录的inode,然后再读取目录的block信息,拿到待读取文件的索引信息,即具体存储在哪个block上,最后才能读到文件内容(这块内容,需要先理解Linux的文件系统,比如Ext2/Ext3/Ext4,后面我们会详细介绍) ------ 先记住文件权限仅仅对文件内容有效。
示例说明
使用root身份读取目录test001下的文件test001-1查看目录物理全路径:
pwd

列出有关的目录和文件:ll -di / /root /root/test001 /root/test001/test001-1
通过man ls 查看-i,全称inode,即 print the index number of each file

- 目录/的inode: 通过挂载点的信息找到inode号码为2的block。
- 目录/的block:通过上一步骤找到的block,找到root/目录的inode号码为131073。
- 目录root/的inode:读取编号为131073的inode找到目录的block。
- 目录root/的block:通过上一步骤找到的block,找到root/test001/目录的inode号码为527524。
- 目录root/test001/的inode:读取编号为527524的inode找到目录的block。
- 目录root/test001/的block:通过上一步骤找到的block,找到文件test001-1目录的inode号码为527526。
- 文件test001-1的inode:读取编号为527526的inode找到文件的block。
- 文件test001-1的block:通过上一步骤找到的block,读取文件内容。
由于使用的是root身份,具有读取任何文档的权限。如果,使用一般账号,上面每一个步骤的读取,还会匹配权限。
目录
针对的是该目录下的文件对象
- readable 具有读取目录结构清单的权限,即可以通过ls命令,查询该目录清单。
- writable 具有变动该目录结构清单的权限,即可以创建、迁移、删除、更名该目录下的文件。
- executable 具备进入该目录的权限,即可以通过cd命令,成为工作目录。
备注:从上面可以得出,开放目录给任何人浏览时,至少需要赋予r或x权限。读取目录文件内容,至少需要目录权限x和文件权限r。
总结
Linux的每个文档可以分别针对三种身份赋予rwx权限;chgrp命令变更文件群组,chmod命令变更文件权限,chown变更文件拥有者;那么如何运用这些属性和权限来保证每个租户数据的安全性和隐密性,请看下一篇,Linux如何管理文档多租户进行实战练习。
如果你觉得本篇文章对您有帮助的话,感谢您的【推荐】。
相关文章

集成系统级Claw模式! Deepin 官宣发布 25.1 版本
deepin操作系统发布了最新的 25.1 版本更新,该版本基于 deepin 25 正式版积累的多轮内测成果,在 AI 能力、内核版本、桌面环境、文件管理器以及系统安全等方面进行了更新2026-04-13
又一代老硬件退场! Linux 内核正式放弃Intel 486 CPU
在过去的几十年间,CPU 的架构已经经历了飞速发展,x86 系列就是其中之一,而 i486 则属于该系列中的一个,当前,i486 的CPU处理器已经够老,从 Linux 7.1 开始将不再有对2026-04-09
我把 Linux 中最常用、最实用、最常被问到的命令按照实际使用场景分类整理,方便你快速查阅和记忆,内容覆盖日常运维、开发调试、性能分析、文件处理、网络、安全、系统管2026-04-08
一分钟内检查Linux服务器性能? 9个性能检测常用的基本命令
今天我们来看看Linux系统中用于性能监控的一系列命令,这些命令可以快速查看机器的负载情况,详细请看下文介绍2026-03-18
Linux作为操作系统领域灵活性和可定制性的基石,提供了大量满足不同用户需求的发行版,今天分享适合高级用户的15款Linux发行版2026-03-10
开箱即用? 这4个高手级Linux发行版远没你想象的那么安全易用
如果你正在纠结用哪个发行版?零基础新手别被“高端”“极客”“声明式”这些词冲昏头脑,先用好用的,再慢慢进阶2026-03-10
这几款SSH工具真的够用了! Linux好用的ssh工具推荐
在Linux上使用SSH,您需要安装一个SSH客户端,今天整理找到的8 款 SSH / 终端工具,从免费开源到企业级商用,从轻量化命令行到一站式工具箱,每款都做了介绍与对比,希望能2026-03-09
在Linux系统下有两种用户,即高级用户root,普通用户,高级用户root可以在系统中做任何事情,普通用户仅可在Linux系统中做有限的事情,下面我们就来看看切换方法2026-02-28
揭秘当前登录用户的身份! Linux中使用logname命令的技巧
logname命令就是这样一个简单但强大的工具,它能帮助我们轻松获取当前登录用户的用户名,今天,我们就来深入探索一下这个命令的工作原理、使用方法和最佳实践2026-02-26
在 Linux 系统中,DNS 缓存是一种将域名和 IP 地址映射关系缓存在本地的机制,可以加快域名解析速度,并减轻 DNS 服务器的负载2026-02-26




最新评论