• Linxu 【权限,粘滞位】


    目录

    1.Linux两种用户:超级用户(root)、普通用户

    Linux下不以文件后缀来区分文件类型

    Linux三种用户身份

    事务属性的基本权限

    第二种修改权限方式

    2. 常见权限问题

     umask

    3.粘滞位



    1.Linux两种用户:超级用户(root)、普通用户

    root用户具有Linux下最高权限(权限针对人,同时事物的基本属性决定权限的相关概念),不受权限约束

    普通用户可以存在多个,受到权限约束

    普通用户创建方式:useradd 

    cd /home 再ll 查看有多少用户

    普通用户切换回超级用户:su - (root密码) 

    普通用户之间切换:su 用户名

    ctrl+d  / logout  退出超级用户


    1.2 文件类型和访问权限(事物属性)

    Linux下不以文件后缀来区分文件类型

    文件类型

    但是像gcc是Linux上的软件(不等于系统层面),需要文件后缀来区分类型(Linux系统不以所谓的文件后缀区分,具体用的软件决定)

    可执行程序也被当成普通文件

     


    Linux三种用户身份

    拥有者:文件属于谁

    所属组:文件属于哪一个组

    other(其他):不属于上面两种的,就是other

    事务属性的基本权限

    如果给文件强制加上可执行权限,不代表他能执行,有可执行权限和能执行是两码事

    如何修改权限

     chmod(设置文件的访问权限)  

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

    u代表拥有者    g代表所属组 o代表other组   a代表所有人   +-代表赋/取消权限  =向权限范围赋予权限代号所表示的权限

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

    可以使用,

    虽然是拥有者,但是不具备任何权限

    a取消所有权限


    root的权限不受约束,哪怕你取消了所有权限也没用

    修改root密码:passwd


    第二种修改权限方式

    三个数字在二进制中可以看作 无:000 有:111,转换成8进制数值表示方法:0~7

    7转换成二进制111,代表三个权限都具备;6代表110,具有读写权限


    更改文件的拥有者或者所属组:需要更高权限

    chown:更改文件的拥有者

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

    但是直接更改是不被允许的(给别人东西要别人同意,可以用root强制给)

    chown一次性改拥有者和所属组

    chgrp:更改文件的所属组

    格式:chgrp [参数] 用户组名 文件名

    常用选项:-R 递归修改文件或目录的所属组


    sudo:给命令前带sodo意思是:执行的后续命令,要以root权限级别来执行(一次)

    sudo需要账户白名单


    2. 常见权限问题

    如果我既是该文件拥有者又是所属组,当拥有者权限不存在,但所属组权限存在时,我还具备访问该文件权限吗

     答案:不具备

    我们如果既是拥有者又是所属组,只看拥有者权限(权限只会被认证一次,首先判定你是谁,判定后以该身份去验证权限)


    进入一个目录,需要什么权限?

    答案:x

    带rw权限也进不去目录

    带x权限进去目录

    总结:

    1.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

    2.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有创建文件/目录,删除移动目录内文件的权限

    3.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限


    为什么创建的默认权限不是从777 / 000 开始

    Linux默认:

    一个目录被创建,起始权限是从777开始,实际权限是775

    一个普通文件被创建,起始权限是从666开始,实际权限是664

    实际是umask干的(权限掩码)

     umask

    umask意思:凡是在umask中出现的权限,都不应该在最终权限中出现

    为什么umask是4位:0002,第一位多的可以不用管他,只需要关心后三位八进制数 002即可

    所以八进制相减便是775和664 (777-002,最后一位7换成111,2换成010,相减便是5)

    umask并不是减法减去对应值

    最终权限 = 起始权限  &( ~ umask)

    比如777 换成111 111 111        umask掩码000 000 010  umask~后变成111 111 101

    按位与&后:111 111 101  (775)

    我们也可以修改umask,例如0777,这样新创建文件就什么权限都没有


    3.粘滞位

     用户除了自己有权限,其他人都没权限

    如果一个目录是我创建的,这个目录别人没法删除(权限设置好-w),别人也不能以他的账号进到我的目录中,把我的东西删除

    但是当别人把文件创建在了我的目录中时,我们没有读写执行权限,却可以删除别人的文件

    如果众多用户必须放在一个目录下,却阻挡不了对方删除文件(文件被删除不是本身属性,而是文件所在目录,用户是否具有w:写权限)

    结论:在目录中新建或者删除文件,跟文件本身没关系,跟你所在目录中是否具有写权限有关

    这时候,就可以使用粘滞位解决(只能自己删自己的,而且正常使用)

    chmod +t 文件名(other变成rwt) t是x的特殊情况(粘滞位只能给目录设置)

    注意:粘滞位谁加的谁才能取消

  • 相关阅读:
    Word控件Spire.Doc 【文档操作】教程(二):在 C#、VB.NET 中打开 Word
    智能时代的“发动机升级”:数据中心十年之变
    通过python 的selenium 操作shadow前端页面实现自动点击上传图片
    如何使用drawio画流程图以及导入导出
    圆角矩形 渐变边框 css
    YOLO-NAS详细教程-姿势估计实现
    中国电影城市排名易语言查询代码
    分布式锁之Redis实现
    JSP核心技术的进阶(指令、标签、对象域)+JSTL+EL
    微服务系统设计——API 网关服务设计
  • 原文地址:https://blog.csdn.net/weixin_63543274/article/details/126005792