详解 Linux 文档属性、拥有者、群组、权限、差异

栏目: Linux · 发布时间: 8年前

内容简介:我们都知道Linux是一个支持多用户、多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机,同时,为了保护每个人的隐私和工作环境,针对某一个文档(文件、目录),Linux系统定义了三种身份,分别是拥有者(owner)、群组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。

写在前面

我们都知道Linux是一个支持多用户、多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机,同时,为了保护每个人的隐私和工作环境,针对某一个文档(文件、目录),Linux系统定义了三种身份,分别是拥有者(owner)、群组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)

文档属性

使用命令ls -al --full-time,或者此命令的简写ll可以查看文件或者目录的所有属性。如下:
详解  <a href='https://www.codercto.com/topics/18170.html'>Linux</a>  文档属性、拥有者、群组、权限、差异
从上面可以看到,每一行都有7列,分别是:

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

变更拥有者(owner)

位置

详解 Linux 文档属性、拥有者、群组、权限、差异

注意:必须是该位置下已存在的帐号。也就是在/etc/passwd中有记录的拥有者才能改变。

语法

备注:此命令也可以顺便变更文档群组,但还是建议使用chgrp命令来变更文档群组。

选项

-R 递归变更,即连同次目录下的所有文件(夹)都要变更。

用法

chown daemon test 变更文件夹test账号为daemon
详解 Linux 文档属性、拥有者、群组、权限、差异
chown daemon:root test 变更文件夹test群组为root
详解 Linux 文档属性、拥有者、群组、权限、差异

chown root.users test 变更文件夹账号为root,群组为users
详解 Linux 文档属性、拥有者、群组、权限、差异
chown .root test 单独变更群组为root
详解 Linux 文档属性、拥有者、群组、权限、差异

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

变更群组(group)

位置

详解 Linux 文档属性、拥有者、群组、权限、差异

备注:从这里可以查看到所有群组

语法

备注:关于options,可以通过man chgrp、info chgrp、chgrp --help等命令查询详细用法。

用法

chgrp -R users test 改变test文件夹及其所有子文件(夹)的群组为users
详解 Linux 文档属性、拥有者、群组、权限、差异

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

详解 Linux 文档属性、拥有者、群组、权限、差异

变更权限

Linux文档的基本权限就三个,分别是read/write/execute,加上身份owner/group/others也只有九个。权限变更的方式有2种,分别是符号法数字法

符号法

分别使用u,g,o来代表三种身份,a表示全部身份;分别使用r、w、x表示三种权限;分别使用+、-、=表示操作行为

语法

设置权限(=)

变更目录test的权限为任何人都可读、写、执行。

详解 Linux 文档属性、拥有者、群组、权限、差异

去掉权限(-)

去掉目录test执行权限

详解 Linux 文档属性、拥有者、群组、权限、差异

备注:执行权限(x),对目录而已就是其他用户能否cd test成为工作目录。

添加权限(+)

增加目录test执行权限

详解 Linux 文档属性、拥有者、群组、权限、差异

备注:很熟悉吧,如果我们编写完一个 shell 文件test.sh后,通过chmod a+x test.sh就添加了文件执行权限。

数字法

顾名思义,就是使用数字来代表权限,r,w,x分别为4,2,1。三种权限累加就可以得出一种身份的权限。

设置目录test的权限为任何人都可读、写、执行。

详解 Linux 文档属性、拥有者、群组、权限、差异
设置目录test的权限为任何人都可读、写。

详解 Linux 文档属性、拥有者、群组、权限、差异

赋予一个shell文件test.sh可执行权限,拥有者可读、写、执行,群组账号和其他人可读、执行。

备注:有没有发现数字法更简单啊!!!

文件和目录权限差异

文档权限对于文件和目录有巨大的差异

文件

针对的是该文件内容

  • readable 可读取该文件的实际内容
  • writable 可以编辑、新增或者是修改该文件的内容
  • executable 有可以被系统执行的权限

备注:具有w权限不可以删除文件,删除文件是目录权限控制的范围!!!记住文件权限针对是文件内容

目录

针对的是该目录下的文件对象

  • readable 具有读取目录结构清单的权限,即可以通过ls命令,查询该目录清单。
  • writable 具有变动该目录结构清单的权限,即可以创建、迁移、删除、更名该目录下的文件。
  • executable 具备进入该目录的权限,即可以通过cd命令,转到工作目录。

备注:从上面可以得出,开放目录给任何人浏览时,至少需要赋予rx权限。读取目录文件内容,至少需要目录权限x和文件权限r

总结

Linux的每个文档可以分别针对三种身份赋予rwx权限;chgrp命令变更文件群组,chmod命令变更文件权限,chown变更文件拥有者;那么以后记得使用文档权限来保护数据的安全性哦

如果你觉得本篇文章对您有帮助的话,感谢您的【推荐】
如果你对 linux 感兴趣的话可以关注我,我会定期的在博客分享我的学习心得


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Distributed Systems

Distributed Systems

Sukumar Ghosh / Chapman and Hall/CRC / 2014-7-14 / USD 119.95

Distributed Systems: An Algorithmic Approach, Second Edition provides a balanced and straightforward treatment of the underlying theory and practical applications of distributed computing. As in the p......一起来看看 《Distributed Systems》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码