Linux权限

Linux中的用户:

Linux中的root,我们刚买到云服务器,第一次登陆上,默认的就是root,root是我们Linux中的超级管理员,最大的特点就是不受权限约束。除了root,剩下的是普通用户。

用户切换

普通用户变为超级管理员:
命令:su
身份从普通用户切换为root但是当前所处路径不变
命令:su -
身份从普通用户切换为root且当前所处路径变为root的家目录
在这里插入图片描述
切换为root要输入root的密码
可以发现,普通用户的命令行提示符结尾是$,而超级用户的命令行提示符结尾是#
我们切换到超级用户后,ctrl + d退出会退回普通用户。
root变为普通用户:
命令:su + 用户名
不需要输入密码,直接从root变为普通用户,但是当前所处路径不变
命令:su - + 用户名
变为普通用户且当前所处路径变为用户的家目录
在这里插入图片描述

指令提权

命令:sudo + 操作
不变为root但是以root身份进行操作叫做指令提权
将当前用户切换到超级用户下,然后以超级用户身份执行命令,执行完成后,直接退回到当前用户。
我们sudo进行指令提权时要输入自己的密码
具体工作过程如下:
当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
–>确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
–>若密码输入成功,则开始执行sudo后续的命令
首次进行sudo可能不能执行,可以看链接: 如何配置sudo

文件的权限

在这里插入图片描述

文件相关信息

红色:文件名
黄色:文件最近一次修改的时间
蓝色:文件的大小
灰色:所属组
绿色:拥有者
拥有者:
文件是谁创建的,文件的主人
所属组:
所属组可以有很多人,所属组的存在方便了权限管理,方便多人协作,可以给所属组配置权限
other:
除了拥有者和所属组外的其他人都是other

文件的权限

在这里插入图片描述
第一个就是最左侧的
d:d代表目录文件
-:-代表普通文件
剩下9个
r代表具有可读权限,w代表具有写权限,x代表具有可以执行权限,-代表没有相应的权限,都是以rwx的顺序显示的
前三个:拥有者的权限
中间三个:所属组的权限
后三个:other的权限

修改文件的权限

只有拥有者和root可以修改文件的权限
命令:chmod u±rwx,g±rwx,o±rwx,a±rwx +filename
u:user
g:group
o:other
a:all
可以同时给不同的身份加减不同的权限,也可以给所有用all加减相同的权限
在这里插入图片描述
修改权限拥有者
命令:chown + 用户 + 文件
修改权限所属组
命令:chgrp + 用户 + 文件
修改拥有者和所属组的命令只有root可以执行,所有要进行指令提权或者切换为root账号进行改变
在这里插入图片描述
以进制方式修改

图中文件的权限,能读为1,不能为0,可以以二进制的形式描述权限,图中权限拥有者的权限就是110,所属组的权限时110,other的权限时001。化为8进制就是661,知道这个以后就是可以直接以8进制修改权限。
在这里插入图片描述
修改所有都为可读可写可执行就是chmod 777 file1在这里插入图片描述

权限的体现

当三个角色不具有某种权限的时候,那么向相应地访问将被拦截,即使是拥有者,但是root除外,root不受权限的约束

Permission denied表示权限被拒绝,没有写权限就无法写入
在这里插入图片描述

当我们切换到另一个用户aaa,但是可以看到对ppp目录对other没有任何权限,所有在aaa尝试看ppp文件路径下的文件时也会被拒绝
在这里插入图片描述

下面我们对文件进行写入和读取都被拒绝,可以看到,拥有者没有权限,但是所属组有读写权限,但是ppp也是所属组啊,为什么无法读写呢?
这是因为系统只对用户进行一次身份匹配,如果发现我们时拥有者,那就匹配到拥有者,但是拥有者没有权限,就不会拒绝请求
在这里插入图片描述
当我们改变拥有者后,就可以读写了,因为匹配拥有者时失败,但是匹配所属组时成功
在这里插入图片描述

Linux的文件类型

Linux不以后缀名区分文件,但是只是Linux系统不以后缀区分,Linux里面的工具有的要求后缀,例如gcc就要求后缀为".c"
Linux以ls -l显示的第一个属性区分
-:普通文件,文本文件,可执行程序,库都叫做普通文件
d:目录文件
还要其他许多文件类型,不过不重要
修改后缀名以后,后缀名乱打,依然可以执行。
在这里插入图片描述

可执行权限与可执行

Linux中,对一个文件具有可执行权限不一样就能执行,相对应的文件本身也应该是一个可以执行的文件

test.c具有可执行权限,但是本身不是可执行文件,所以无法执行
在这里插入图片描述

目录的权限

目录的r权限:用户能否查看目录内的文件
目录的w权限:用户能否在目录下增删和修改文件
目录的x权限:用户能否进入该目录

现在使用root用户在ppp的文件夹下创建了拥有者和所属组都是root的文件,但是可以发现我们普通用户可以删除root的文件,这就是因为,我们删除文件实在ppp目录下进行的操作,我们具有写权限,所有可以删除。
所有要分清目录的权限和文件的权限,就像图中的root创建的文件,我们无法写入,因为我们没有写权限。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Linux的权限掩码

我们创建普通文件时,权限默认为0666,创建目录文件时权限默认为0777

但是创建文件时,发现不是默认的权限,目录文件是0775,普通文件是0664
在这里插入图片描述

不同的及其umask默认值可能是不同的,这台机器默认0002(最前面的0先不管)。Linux创建文件的时候要去掉umask里面的权限,0666和0777去掉0002后就是上面那个权限,我们通过命令把umask改为0000,发现创建的文件就是0777了,普通文件就是0666。
最终权限 = 默认权限 & (~umask)化为二进制,二进制按位与运算
在这里插入图片描述

粘滞位

命令:chmod +t 文件
如果想和其他Linux上的用户进行共享文件,我们要在根目录下的tmp下创建共享文件,因为此目录可以创建粘滞位,粘滞位就是,普通用户无法删除文件,其他无法创建粘滞位的文件,如果让共享者们进去,那么其他非共享的人也可以进去,因为都属于other。但是我们又不能删去读写的权限,不然我们没办法新建和删除文件了,所有就增加粘滞位,这样只有拥有者才可以删除文件,而其他人无法删除。
在这里插入图片描述
相当于x权限的加强版,x权限可以进去,但是把w权限打开,任何人都能删除里面的文件,t就可以限制只让拥有者删除文件。

相关推荐

  1. linux权限

    2024-02-01 14:50:01       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-01 14:50:01       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-01 14:50:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-01 14:50:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-01 14:50:01       18 阅读

热门阅读

  1. 第五章 类的继承与派生之——类的继承与派生

    2024-02-01 14:50:01       26 阅读
  2. BeanUtil.copyProperties(source,target)拷贝List注意事项

    2024-02-01 14:50:01       36 阅读
  3. 深度学习的进展

    2024-02-01 14:50:01       28 阅读
  4. 代码随想录算法训练营|day22

    2024-02-01 14:50:01       33 阅读
  5. Android studio布局详解

    2024-02-01 14:50:01       34 阅读
  6. 达梦数据库存储过程

    2024-02-01 14:50:01       26 阅读
  7. vue3:中warch监听的几种写法

    2024-02-01 14:50:01       33 阅读
  8. ModuleNotFoundError: No module named ‘flask._compat‘

    2024-02-01 14:50:01       28 阅读
  9. rsync将远程文件同步到本地

    2024-02-01 14:50:01       30 阅读
  10. Docker加固策略,防止攻击

    2024-02-01 14:50:01       28 阅读