• 【Linux】第二篇——权限管理


    Linux下的用户

    文件的权限

    文件访问者的分类

    文件类型和访问权限

    文件权限值的表示方法

    权限设置

    chmod

    chown

    chgrp 

    umask

    目录权限

    介绍

    粘滞位 

    给用户sudo分配权限


    Linux下的用户

    Linux下有两种用户:超级用户(root),普通用户。

    • 超级用户:   可以再linux系统下做任何事情,不受限制;命令提示符"#“;
    • 普通用户:在linux下做有限的事情,普通用户的命令提示符是"$”

    如图所示:

    命令:su[用户名]

    功能:切换用户

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

    实例演示:

    实例1:转换成root用户需要输入密码,转换成普通用户不需要

    实例2:用su -从普通切换到root用户与su的区别;su -显示的内容会更全面一点

    实例3: 可以用exit或者ctrl+d直接从root回退到普通用户

    分析:直接按exit或者ctrl+d与su user的区别是啥?

    使用su user每次切一次,系统就会重新启动一个bash;而ctrl+d或exit不会;

    所以我建议使用exit或者ctrl+d退回到普通用户

    命令:sudo命令

    功能:可以临时权限提升,执行后序命令,以root身份执行

    目前sudo命令是没办法跑的,需要添加信任关系,暂时不说,后面会详说;

    文件的权限

    权限=人+事务的属性

    文件访问者的分类

    • 文件和文件目录所有者(owner)
    • 文件和文件目录所在者的所在组的的用户(group)
    • 其他用户(other)

    文件类型和访问权限

    1.  文件类型
    • d:文件夹(目录文件)
    • -:普通文件(文本,各种动静态库,可执行程序,源程序等)
    • l:软链接(类似windows的快捷方式)
    • b:块设备文件(磁盘,光驱等)
    • p:管道文件(通信)
    • c:字符设备文件(键盘与显示器)
    • s:套接口文件

         2.基本权限

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

    文件权限值的表示方法

    1. 字符表示方法

    表示

    说明

    表示

    说明

    rwx

    可读可写可执行

    rw-

    可读可写

    r-x

    可读可执行

    -wx

    可读可执行

    r--

    只可读

    -w-

    只可写

    --x

    只可执行

    ---

    无权限

         2.8进制数值表示法

    字符表示

    八进制

    二进制

    rwx

    7

    111

    rw

    6

    110

    rx

    5

    101

    wx

    3

    011

    r

    4

    100

    w

    2

    010

    x

    1

    001

    0

    000

    权限设置

    chmod

    语法: chmod [参数] 权限 文件名
    功能: 设置文件访问权限,只有文件的拥有者和root才可以改变文件的权限
    常用选项:

    • R -> 递归修改目录文件的权限
    • 说明:只有文件的拥有者和root才可以改变文件的权限

    ① 用户表示符+/-=权限字符

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

    实例1 采用用户表示符+/-/=权限字符的方式 

     实例2 使用八进制方法修改权限

    chown

    语法: chown [参数] 用户名 文件名(chown o:g file1 file2…)
    功能: 修改文件的拥有者
    说明: 可以批量处理文件,其中o是写修改后的所属用户,g写的是修改后的所属用户组

    实例1 修改文件所属用户

    实例2 批量修改文件所属用户和所属组 

    chgrp 

    语法: chgrp [参数] 用户组名 文件名
    功能: 修改文件或目录的所属组
    常用选项:

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

    实例1

    umask

    语法: umask权限值
    功能:

    • 查看或修改文件掩码
    • 新建文件夹默认权限=0666
    • 新建目录默认权限=0777

    说明: 将文件默认权限减去权限掩码中有的权限就是创建一个文件有的权限

    实例1 查看默认权限掩码

     实例2 修改默认权限掩码

    目录权限

    介绍

     目录下的三种权限

    • r:可以浏览目录内容
    • w:可以在该目录下创建或删除文件
    • x:可以进行目录。进入目录本质是修改了路径,也就是pwd。

    实例1: 去掉目录的可执行权限,观察是否可以进入目录

     实例2 去掉目录的可读权限,看是否可以ls该目录查看它下面的文件

     实例3 去掉目录的可写权限,看是否可以在该目录下创建或删除文件

    总结:如果目录本身对other具有w权限,other可以删掉任何的目录下的文件;如果目录本身对other没有w权限,other不可以删掉任何文件 ;我们需求是other可以在特定的目录下创建文件,并写入。但是不想让任何人删掉自己的文件,这两者是互相矛盾的,这就引出了接下来的粘滞位;

    粘滞位 

    当一个目录被设置粘滞位时,该目录只能被三种用户删除:

    • 超级用户root
    • 用户所有者
    • 用户所属组

    只能对目录设置,一般是限制other权限的;对设置了粘滞位的目录,在该目录下,只能文件的拥有者可以删除,其他人不能删除。

    给用户sudo分配权限

    1. 切换至root用户

    2. vim 打开/etc/sudoers文件

         3.找到图片中的内容,在下面添加用户即可

     今天就到这里啦,如果对你有帮助的话,那就一赞三连吧,你的支持就是我持续更新的动力,爱你吆!!!

  • 相关阅读:
    [云原生] [kubernetes] 基于K8S安装kubesphere
    python 字符串
    Obsidian Publish的开源替代品Perlite
    ABB UF C911B108 3BHE037864R010控制主板模块
    21天算法打卡系列(6)——冒泡排序和快速排序
    debian 已安装命令找不到 解决方法
    『吴秋霖赠书活动 | 第三期』《Python asyncio并发编程》
    【Azure 架构师学习笔记】- Azure Private Endpoint
    应用层Buffer缓冲区及其重要性
    9月8日上课内容 第一章 rsync远程同步
  • 原文地址:https://blog.csdn.net/m0_58367586/article/details/124801177