• Linux权限介绍


     引言

    Linux中有两种用户:超级用户(root)、普通用户

    • 超级用户:在Linux中能做任何事,不受到权限的限制
    • 普通用户:会受到权限的限制
    • 超级用户的命令提示符是#,普通用户的命令提示符是$

    命令:su [用户名]

    功能:切换用户

    例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令

     

     Linux权限管理

    1.文件访问者的分类(人)

    文件和文件目录的所有者:u---User
    文件和文件目录的所有者所在的组的用户:g---Group
    其它用户:o---Others 

     

     文件类型

    • d:文件夹
    • -:普通文件
    • l:软链接(类似Windows的快捷方式)
    • b:块设备文件(例如硬盘、光驱等)
    • p:管道文件
    • c:字符设备文件(例如屏幕等串口设备)
    • s:套接口文件

    基本权限

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

     2.文件权限的表示方法

    字符表示八进制表示二进制说明
    ---0         000无权限
    --x1001可执行
    -w-2010可写
    -wx3011可写,可执行
    r--4100可读
    r-x5101可读,可执行
    rw-6110可读,可写
    rwx7111可读,可写,可执行

    3.文件访问权限相关的设置方法

    chmod指令

    功能:设置文件的访问权限

    格式:chmod [参数] 权限 文件名

    常用选项:

    • R -> 递归修改目录文件的权限

    说明:只有文件的拥有者和root才可以改变文件的权限

    写法一:用户表示符+/-=权限字符

    • +:向权限范围增加权限代号所表示的权限
    • -:向权限范围取消权限代号所表示的权限
    • =:向权限范围赋予权限代号所表示的权限
    • u:拥有者
    • g:拥有者同组用
    • o:其它用户
    • a:所有用户

    写法二:三位8进制数字

     

     

    chown指令

    功能:修改文件的拥有者
    格式:chown [参数] 用户名 文件名

    实例:

    # chown user file
    # chown -R user filegroup

    chgrp指令

    
功能:修改文件或目录的所属组
    格式:chgrp [参数] 用户组名 文件名
    常用选项:-R 递归修改文件或目录的所属组

    umask指令 

    
功能:
    查看或修改文件掩码
    新建文件夹默认权限=0666
    新建目录默认权限=0777
    但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
    格式:umask 权限值
    说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002

     

    file指令

    功能说明:辨识文件类型。
    语法:file [选项] 文件或目录...
    常用选项:

    • -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
    • -z 尝试去解读压缩文件的内容

    使用 sudo 调用授权的命令(前提是该用户被添加进了"信任名单")

    语法:$ sudo –u 用户名 命令 

     如何添加"信任名单"?

    注意:需要用root账号进行添加

     4.目录的权限

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

    这就会有一个问题,当两个普通用户处在同一个目录下工作的时候,一个用户可以删除另一个用户的文件,为了避免这种情况,Linux引入了粘滞位的概念

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

    • 超级管理员删除
    • 该目录的所有者删除
    • 该文件的所有者删除
       
  • 相关阅读:
    openGauss学习笔记-100 openGauss 数据库管理-管理数据库安全-客户端接入之用SSL进行安全的TCP/IP连接
    SSM框架的师范学院教务信息查询系统的设计与实现源码
    WebAssembly上手:基础指南
    HashMap JDK1.8
    如何使用css给一个盒子加上好看的hover阴影效果
    2020 CCF-CSP-S-第一轮-C++ 模拟试卷(五)--有答案
    什么是函数重载?作用是什么?如何使用?
    Mysql详解Explain索引优化最佳实践
    CCF CSP认证 历年题目自练Day27
    CUMT-----Java课后第七章编程作业
  • 原文地址:https://blog.csdn.net/V_zjs/article/details/132763168