有关Linux里面权限的理解

文章介绍了Linux系统的基本结构,包括Linux内核、shell的作用以及用户类别。重点讨论了Linux的权限机制,包括文件的读、写、执行权限,以及如何通过chmod命令修改权限。此外,提到了目录的x权限对于进入目录的重要性,以及如何使用粘滞位来限制other用户的删除权限。最后,文章提到了umask掩码在默认权限设定中的作用。
摘要由CSDN通过智能技术生成

在理解Linux权限之前我们先理解一下linux。

在广义上linux发行版=Linux内核+外壳程序,其中外壳程序就是我们现在用的shell,我们在和linux内核操作系统进行交互的时候是不能直接进行的需要借助shell,可以理解shell就是一个媒婆帮我们向linux操作系统传达我们的指令和需求,然后linux操作系统内核响应之后再通过shell进行返回。同时我们可以理解为shell:命令行解释器,同时对于我们的非法请求shell是有权利直接拒绝我们的,shell直接拒绝有两个好处:1.可以保护linux内核。2.传递请求请求指令,让OS执行命令。这样我们就不用直接与linux内核进行交互,因为我们也交互不了,与内核交互语言是机器语言也就是二进制,其中OS就是我们常说的操作系统的内核。当一个程序跑起来就是进程,其中shell本身也是一种进程。

对Linux有了一些基本认识过后,我们可以理解一下Linux的用户。

在linux中,默认是有两类的用户:1.root:root就是超级管理员2.普通用户,普通用户只具有一般的权限。这两个都是我们创建的用户。

现在可以进入对权限的理解。一般来说权限是一件事是否允许被特定的人做,可以简单这样理解:权限=人+事物的属性,一般来说权限约束的是人,文件本身具有的天然权限属性:r+w+x。其中r:读权限,w:写权限,x:执行的权限。那么要想修改权限可以从两个方面入手1.改人的权限高低 2.修改事物的属性。下面进行具体理解

先举一个列子,就拿log.txt这个文件来说吧,可以看到在执行了ll命令之后,出现了两个yjq,第一数列的yjq代表的就是拥有者,第二数列yjq代表的是所属组,其中还有一个是other在上面的截屏中没有显示。其中需要注意的是前面提到过的root和普通用户都是具体的一个人他们都有自己的所属组,所以那个Log.txt文件拥有者就是yjq,所在的所属组是yjq,因为这里没有别的组,所属组用来标识用户的类别。

对于第一列我们可以看到这样- --- --- ---,第一个-中class3前面是一个d是代表了文件目录,后面的--- --- ---,分别是前面提到的拥有著所属组和other的权限,看到log.txt文件时rw- rw- r--,就代表拥有者和所属组都拥有读和写的权力,other只有读的权力,这三个权限rwx时不会改变位置的。对第一列有了解后下面有些东西需要了解。

Linux下一切皆文件,在Linux系统中不以文件后缀进行区分,这和我们笔记本中windows操作系统很不一样,虽然Linux中不以文件后缀区分但是有命令需要以后缀进行区分,例如gcc命令,gcc后面跟的文件必须是以.c文件进行结尾,因为需要运行的是c,c++代码程序。

下面是权限的修改,当我们进行修改权限时有两种方法,先说方法一,也是我比较喜欢的一种方法。在下面这张图可以看见,输入chmod命令后面跟了一个777 再跟一个log.txt文件,LL命令输出看到后log.txt文件权限变成了-rwx rwx rwx,这表示所有人都可以有读写执行的权限,777时八进制,2的012次方,加起来正好时7,需要有什么权限直接输入数字就可以了很简单。

 再说方法2:chmod u=r,g=r log.txt,也可以但是我不喜欢,就不多解释了。

 在这里需要注意的是,普通用户只能执行权限里面所拥有的权限,当切换到root超级用户时,是不受权限影响的,在这里就不进行展示了。还有就是修改文件所属人,要想将yjq yjq 修改成root yjq将文件修改成root,可以这样:sudo chown root file.txt,sudo暂时提高权限,将file.txt文件交给root,root再交还给yjq可以这样:sudo chown yjq file.txt。进行文件用户交还很简单。

对于目录来说也就是上面的class3,如果我们有rw权限但是没有x权限,那么我们将无法进入目录里面查看,那就更不用提修改了,这里可以看到class3是不可以进入的,只能看到class3里面还有的文件名,所以要想修改目录的话是必须要x权限进入的。

 但是值得注意的是,虽然无法进行修改,但是对other有w权限的话,其他的人是可以进行对目录进行删除的,而且可以删除任何目录下的文件,如果目录本身对other没有w权限,other是不可以删掉任何文件的。但是如果我们有这样的需要:other可以在特定的目录下进行创建文件并写入,但是却又不想让人删掉自己的文件呢?

下面就要提到粘滞位,粘滞位是只能对目录使用的,一般都是用来限制other的权限,这就是粘滞位的设置:chmod o+t class3,其中class3是目录名,对设置了粘滞位的目录只有拥有者可以进行删除其他的人都不可以删除,这样可以用来保护目录。

最后还有一个不那么重要的默认设置,提到了umask掩码,具体情况请自行了解这里就不多说。

以上就是Linux的权限总结。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值