写在前面

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

文档属性

使用命令ls -al --full-time,或者此命令的简写ll可以查看文件或者目录的所有属性。如下:

从上面可以看到,每一行都有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)

位置

语法

选项

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

用法

chown daemon test 变更文件夹test账号为daemon

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

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

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

变更群组(group)

位置

语法

用法

chgrp -R users test 改变test文件夹及其所有子文件(夹)的群组为users

变更权限

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

符号法

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

语法

设置权限(=)

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

去掉权限(-)

去掉目录test执行权限

添加权限(+)

增加目录test执行权限

数字法

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

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


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

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

文件和目录权限差异

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

文件

针对的是该文件内容

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

目录

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

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

总结

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

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