【Linux】关于Linux中的权限

2022-11-15 15:46:06 浏览数 (1)

文章目
  • 前言
  • Linux权限
  • 文件访问者的分类(人)
  • 文件类型和访问权限(事物属性)
    • 文件类型
    • 基本权限
  • 目录的权限
  • 粘滞位
  • 权限的总结

前言

前面我们已经知道。Linux下有两种用户:超级用户(root)、普通用户

以及相互之间的切换:

以及引入的权限的一些铺垫。

下面,我们对其进行补充说明。

如果不切换用户,就想让普通用户以root的身份,执行对应的指令,该怎么去做呢

很简单,加上sudo.sudo加上指令表示短暂的提权,root执行命令。不过这里会有一个问题,不让我们执行,也就是说系统不相信这个用户:

在这个地方,我们授权的时候,让我们输入自己的密码:给受信任的用户,提供最少的执行障碍

解决方法:需要将当前用户添加到系统的文件/etc/sudoers中。这里先不展开说明。后面会做补充。如果暂时使用root,root的权限是最大的,可以随便切换到其他普通用户。也就不存在没有权限的问题了。


Linux权限

简单理解权限:权限简单来说就是进行约束的。(人,一个或者某些群体)

​ 目标对象,本来就没有对应的属性。也就不具备该权限。一个事情是否允许被谁做

文件 = 内容 属性

为什么要有权限❓便于我们系统进行安全管理的

为什么创建的目录或者普通文件,默认的权限是我们看到的这个样子:

为什么创建出来的目录/文件权限是默认上面这个样子的:

Linux规定,目录起始的权限是777(二进制表示,这一部分不懂可以先跳过,往下继续看权限的二进制) ​ 普通文件的起始权限是666 umask:

注意这里的umask是可以进行改变的:

0022——系统默认会配置好umask权限掩码:凡是在umask中出现的权限,都必须在起始权限去掉!!!

这也就对应上了:

这里还存在一个问题:去掉是在做减法吗

我们发现file根本没有发生变化如果是减法的话应该是原来的666(110 110 110)--------》001 001 001.所以不是减法

实际上,最终权限 = 起始权限 & (~umask)

起始权限:666 110 110 110

umask: 0111 001 001 001

~umask: 110 110 110

起始权限 & (~umask):

​ 110 110 110

即 rw- rw- rw-


文件访问者的分类(人)

文件和文件目录的所有者: u—User

文件和文件目录的所有者所在的组的用户: g—Group

其它用户: o—Others


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

文件类型

补充:Linux和windows(根据文件的后缀)的差别很大。而Linux的文件类型和后缀无关(后缀名可以作为提示,用户可以使用后缀区分文件类型),但是对linux来说区分文件和文件本身的后缀是无关的(但是gcc等工具对文件后缀可能有要求)。后缀本质就是文件名的一部分。

开始之前,我们输入ll指令,来看看前面10个字符代表什么意思:

在linux中,是通过ll显示的众多属性列中的第一列的第一个字符来区分文件类型的。

d:目录文件 -:普通文件(源代码,库文件,可执行程序,文档压缩包等等) l:链接文件(类似Windows的快捷方式) b:块设备文件(例如硬盘、光驱等) p:管道文件 c:字符设备文件(例如键盘,显示器) [hwc@VM-8-3-centos test5]$ ll /dev/tty crw-rw-rw- 1 root tty 5, 0 Sep 29 16:02 /dev/tty s:socket文件

到了这里,我们已经了解了第一个字符,那其他的呢

对于权限字符所代表的意思,请往下看

0 人点赞