• 【Linux】权限讲解


    一、什么是权限

    1、权限概念

    权限随处可见,在生活中,腾讯非VIP用户不能观看VIP视频,看小说也需要会员,所以权限是限制人的,一件事是否允许被谁做。在Linux系统中也有许多权限,访问文件需要权限,进入目录需要权限,更改执行文件也需要权限。

    Linux系统上有两种用户:

    • 超级用户(root):可以在Linux下做任何事情,不受限制
    • 普通用户:只能做有限的事情
    • 对于超级用户的命令提示符是"#",普通用户的命令提示符是"$"

    对于两种用户可以用如下命令进行切换

    命令:su
    实例:在这里插入图片描述
    要从root用户切换到普通用户,则使用su+用户名。要从普通用户切换到root用户这使用su+root(root可以省略),此时系统就会提示输入root用户密码。

    2、文件访问者分类及访问权限属性

    文件访问者可分为:

    • 文件拥有者
    • 文件所属组
    • 文件的other(其他用户)

    在这里插入图片描述
    文件类型

    • d:目录
    • -:普通文件
    • l:链接文件
    • b:块设备文件(block、磁盘)
    • p:管道文件
    • c:字符设备(键盘、显示器)
    • s:网络socket文件

    文件具有的权限属性

    r:可读
    w:可写
    x:可执行
    -:无权限

    如下图:
    在这里插入图片描述

    对于test.txt文件拥有者具有可读、可写、不具有可执行权限,文件所属组具有可读、可写、不具有可执行权限,其他用户具有可读、不具有可写和可执行权限

    可读:对于文件而言,具有读取文件内容的权限;对于目录来说,具有浏览该目录信息的权限
    可写:对于文件而言,具有修改文件内容的权限;对于目录来说,具有删除移动目录内文件的权限
    可执行:对于文件而言,具有执行文件的权限;对于目录来说,具有进入目录的权限

    3、文件权限值的表示方法

    权限的表示方式也可用八进制数来表示:
    例如:rw- 可用二进制110表示,r– 可用二进制100表示,对于rw-rw-r– 用八进制可表示为 664
    在这里插入图片描述

    字符表示方法

    Linux说明Linux表示说明
    r- -只读- w -仅可写
    - -x仅可执行rw -可读可写
    - wx可写可执行r - x可读可执行
    rwx可读可写可执行- - -无权限

    8进制数值表示方法

    权限符号(读写执行)八进制二进制
    r- -4100
    - w -2010
    - -x1001
    rw -6110
    r - x5101
    - wx3011
    rwx7111
    - - -0000

    二、文件访问权限的相关设置

    chmod命令

    功能:设置访问者权限
    格式:chmod 权限 文件名

    1)用户符号+/-= 权限

    • +:增加权限
    • -:取消权限
    • =:赋予权限
    • u:文件拥有者
    • g:文件所属组
    • o:其他用户
    • a:所有用户

    实例:
    在这里插入图片描述
    2)用八进制数
    实例:
    在这里插入图片描述

    chown命令

    功能:修改文件的拥有者
    格式:chown 用户名 文件名
    此命令只有root用户拥有使用权

    实例:
    在这里插入图片描述

    chgrp命令

    功能:修改文件或目录的所属组
    格式:chgrp 用户组名 文件名
    此命令只有root用户拥有使用权

    实例:
    在这里插入图片描述

    umask命令

    功能:查看或修改文件掩码
    格式:umask 权限值
    说明:将现有的存取权限减去权限掩码后,即可产生建立文件时的预设权限。超级用户默认掩码值为0022,普通用户默认为0002

    新建文件夹的默认掩码权限为0666
    新建目录的默认权限为0777
    但是实际上你所创建的文件和目录,看到的权限往往不是上面的值。因为创建文件或目录的时候还要受到umask的影响。

    实例:
    在这里插入图片描述
    umask:查看掩码
    umask 755:设置掩码

    file指令

    功能:辨识文件类型
    格式:file 文件或目录

    常用选项:
    -c:详细显示指令执行过程,便于拍错或分析执行的情况
    -z:尝试去解读压缩文件的内容

    实例:
    在这里插入图片描述

    三、目录权限

    • 可执行权限(x):如果目录没有可执行权限,则无法cd到目录中。
    • 可读权限®:如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容
    • 可写权限(w):如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件

    注意: 如果目录没有-x权限,则无法对目录执行任何命令,也无法cd 进入目录,即使目录仍有-r 读权限。而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但是没有目录的读权限,即可以执行ls命令,但仍然没有权限读出目录下的文档

    那么,在使用Linux的时候,未来会有一些共享目录,被所以的普通用户使用,这个时候,在共享目录中自己创建的文件,就容易被其他人删除。

    为了解决这个问题,Linux引入了沾滞位的概念

    沾滞位

    注意:共享目录一般都是root提供的。

    设置沾滞位,就会让别人无法删除我的文件

    实例:
    在这里插入图片描述
    如上图所示,共享目录设置沾滞位用:chmod+t 命令。
    这时,该目录下的文件就不会被别人删除。

    当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由:

    1. 超级管理员删除
    2. 该目录的所有者删除
    3. 该文件的所有者删除
  • 相关阅读:
    网页前端知识汇总(一)——CSS如何为网页图片设置圆角效果
    B2B企业老板和市场人必看:如何做好数字化营销
    c语言:通讯录管理系统(文件版本)
    iBooker 技术评论 20230909
    浅聊我和一些编程语言的缘分
    网络安全(黑客)技术——自学2024
    LeetCode二叉搜索树中的中序后继
    自动化测试有必要学吗?一篇从功能测试进阶到自动化测试...
    【JavaWeb】登录权限验证,AJAX异步验证用账号是否存在
    Leetcode 151. Reverse Words in a String (Python)
  • 原文地址:https://blog.csdn.net/Hush_H/article/details/128110308