• Linux权限


    Linux权限


    Linux下有两个用户:root用户和普通用户

    对于root用户来说几乎没有权限限制。而普通用户受权限的限制。

    当我们用命令ls -l显示该目录的内容的时候。会发现前面有一堆字符。如:

    image-20220726120854709

    下面我们就解释一它们的意思:

    image-20220726121744737

    拥有者:这个文件或者目录是谁的。

    所属组:属于哪一个组。

    image-20220726083908301

    第一个字符:

    d:表示目录。-:表示普通文件。

    后面九个字符(3个为一组):r表示读权限w表示写权限x执行权限

    第一组的3个:是拥有者的权限

    第二组的3个:是所属组的权限

    第三组的3个:是其他人的权限

    • 如何改变这三个的权限呢?

    u:改变拥有者的权限

    image-20220726134128543

    g:改变所属组的权限

    image-20220726134159186

    o:改变其他人(other)的权限

    image-20220726134210179

    也可以用8进制的方法进行改变

    image-20220726135612153

    rwx:如果想让哪一位有权限就为1,不想给权限就是0。(此时的1,0为二进制的)

    最后每组用8进制表示就行。

    • 改变人的权限:

    chown:改变拥有者

    chgrp:改变所属组

    改变这些权限需要root权限。

    image-20220726141212401

    进入一个目录需要什么权限呢?r w x ?

    答案是需要x权限。

    image-20220726141841293

    但是在里面创建文件需要w的权限

    image-20220726142635027

    目录的起始权限为777,普通文件的其实权限是666。那为什么和我们显示的不一样呢?

    就是因为有umask的原因,umask中的权限都不应该在最终的权限中显示。

    我的umask是0002。

    image-20220726154031387

    更改umask

    image-20220726154307521

    此时新创建的hh文件就和原来的不一样了。

    那么,从上面的结果显示,最终的权限是起始权限减umask的结果吗?答案当然不是。

    它是位运算。最终的权限=起始权限&(~umask)

    • 粘滞位

      我们知道,不同的用户在同一个工作目录下可以删除别人创建的目录或者文件。

      但是我们自己创建的文件不想他人删除,怎么办呢?可以设置粘滞位。chmod +t 目录名

    创建一个共享目录mytmp,所以权限都放开

    image-20220726155852464

    我们有2个用户,分别位temp,和ML。

    image-20220726160048330

    从下面的图片中可以看出,在自己的工作目录下可以删除别人的文件

    image-20220726160225472

    加上粘滞位之后,就不可以删除别人的文件了。

    image-20220726160931929

    image-20220726161341769

  • 相关阅读:
    kafka副本机制
    简单介绍一下RAM、ROM 通用安全机制
    分享几招教会你怎么给图片加边框
    git代码回退方法简要总结
    第63篇-解释器与编译器适配(二)
    Codeforces Round 908
    motionface respeak视频一键对口型
    vue router
    7.nginx动静分离(添加Tomcat-3,部署p2p项目)
    golang 文件操作
  • 原文地址:https://blog.csdn.net/m0_60598323/article/details/125997488