【Linux】权限总结

来源:互联网 发布:工商业的软件 编辑:程序博客网 时间:2024/05/20 18:42

我们知道在Linux下一切皆文件,那么所对应的文件应该有它自己的权限,不然如果任何用户都能修改某个文件,那么可能会导致许多未知的后果。

一、用户和用户组

  • 用户:用户是计算机的使用者,用计算机可识别的用户ID标识。
  • 用户组:用户容器,用来将多个用户合并为一个单一的逻辑组件,用计算机可识别的用户组ID标识。

用户类别:

  1. 管理员用户:也成为root用户,UID为0。
  2. 系统用户:为系统运行提供服务的非登陆式用户,UID从1-999分配。
  3. 登陆用户:真正使用计算机的普通用户,UID从500-60000分配。

二、文件访问者

(1)文件访问者权限

Linux下文件访问者主要有三类,所以我们可以根据这三种不同的访问者设置不同的权限:

  1. 拥有者(u–User):文件的拥有者。
  2. 所属组 (g–Group):文件的拥有者所在的组。
  3. 其他用户(o–Others):其他用户。

(2)文件所具有的基本权限

  1. 读(r–Read): 对文件而言有读取文件内容的权限,对于目录来说,具有浏览该目录信息的权限。
  2. 写 (w–Write): 对文件而言有修改文件内容的权限,对于目录来说,具有删除和移动该目录信息的权限。
  3. 执行(x–execute): 对文件而言有执行文件的权限,对于目录来说,具有进入该目录的权限。

(3)文件权限表示方法

a)字符表示方法

这里写图片描述

b)8进制表示方法

这里写图片描述

三、更改文件权限方法

4.1chmod

命令:

  • chmod [参数] 权限 文件名

功能:

  • 修改文件的权限

参数:

  • R:递归修改目录文件的权限。
    只有文件的拥有者和root才可更改文件的权限。

修改的方式主要有两种:

①用户标识符+/-/=权限字符

  1. +表示向权限范围增加权限代号所表示的权限
  2. -表示向权限范围取消权限代号所表示的权限
  3. =表示向权限范围赋予权限代号所表示的权限

用户符号:

  • u:拥有者
  • g:所属组
  • o: 其他用户
  • a:所有用户
    这里写图片描述

②三位八进制数字

命令:

  • chmod 权限 文件名

功能:

  • 修改文件的权限

这里写图片描述

四、更改文件拥有者

命令:

  • chown [参数] 用户名 文件名

功能:

  • 修改文件的拥有者。

这里写图片描述

五、更改文件所有组

命令:

  • chgrp [参数] 用户组名 文件名

功能:

  • 更改文件所属组。

常用选项:

  • -R递归修改文件或目录所属组。

这里写图片描述

六、文件掩码

什么是文件掩码?当我们创建一个文件时候,它的权限是什么呢?这个又是如何设定的呢?这便是文件掩码的存在。

L;inux中提供了umask这个命令来查看或设置文件文件掩码。

命令:

  • umask 权限值

功能:

  • 查看或修改文件掩码。
    超级用户的默认掩码为0022
    普通用户的默认掩码为0002

这里写图片描述

那这个默认权限是如何算的呢?

默认权限计算

新建文件夹默认权限=0666-权限掩码
新建目录默认权限=0777-权限掩码

这里写图片描述

七、粘滞位

①什么是粘滞位

粘滞位(Stickybit),或粘着位,只有目录内文件的所有者或者root才可以删除或移动该文件。

②为什么要有粘滞位

最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。

即当一个目录被设置为“粘滞位”则该目录下的文件只能由

  1. 超级管理员删除
  2. 该目录所有者删除
  3. 该文件的所有者删除

③粘滞位如何设置、

命令:chmod o+t 目录名
实际应用中,粘滞位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。
这里写图片描述

八、权限总结

  • 目录的可执行权限表示你能否在该目录下执行命令

  • 如果这个目录没有x权限,则你无法对该目录进行任何操作,甚至无法cd进入该目录,即使该目录仍然有可读的权限(这个很重要,不要认为有了读的权限就可以进入该目录读取该目录下的文件)

  • 如果该目录有x执行权限,但是没有r读权限,则用户可以对它进行执行操作,可以cd进入该目录,但是没有读的权限,所以在该目录下即使可执行ls命令,但是仍然没有权限读出该目录下的文档。

原创粉丝点击