【Linux】权限

今天我们来讲一讲linux中的权限的部分。我们刚开始接触linux的时候,一般都是用root来进行操作的,也就是以超级管理员的身份来操作服务器。但是在之后,随着我们对权限的深入了解,我们也要用普通用户来操作服务器了。

一.创建用户

在root账户下,我们可以创建自己的用户,这被称为普通用户,他一般在home目录下,那我们如何创建用户呢?我们可以用adduser指令。

这里我创建的就是我自己的用户,大家也可以创建自己的用户,然后用passwd指令来重置密码,在我们输入密码的时候,是什么都不会显示的,所以我们在输入密码的时候要谨慎。创建完之后,我们来到home目录下,就可以看到我们的账户了,我们再用对应指令来转到我们自己的账号。

这里我们就要用su语句来切换用户:

su:单纯的切换账号。

su -:让root账号重新登陆。

二.文件权限管理

当我们用ll来查看文件的时候,会发现前面有这样的字母。

那这些代表什么呢,我们逐个来分析。

首先我们开第一列,是不是有-和d两个,其实这个代表的是文件的属性,-代表这是一个普通文件(.c文件、.txt文件等),d代表这是一个目录文件。

然后后面的九个,我们可以分为3、3、3,分别代表为拥有者权限、所属组权限、others权限。然后rwx这三个分别代表着读、写、执行权限,如果没有其中的某一个权限的话,那么对应的字母就会变成-。然后后面的两个用户,分别代表着拥有者、所属组。至于其他的我相信大家也都能看得懂是什么,这里就不做过多介绍了。

那么这些文件既然在我们自己的家目录下,文件也是我们自己创建的,那我们就可以对它们的权限进行更改,我们可以通过chmod来控制权限。

o就是other,u是拥有者,g是所属组,我们通过chmod u/g/o +-r/w/x + 文件的形式,控制了用户对文件的权限。但是root作为超级管理员,不管怎么样,root都可以执行这些权限。

三.默认权限

在我们创建好文件后,这些权限自动就被贴上去了,这是为什么呢?这里,我们就要引入一个概念:umask(权限掩码)。

我们来看,在计算机中,本质就是0和1,那我们对于rwx也可以用0、1表示,如果有字母,就是1,如果是-,那就是0。我们看:

对于我们新创建的test.txt文件,权限我们可以写成,110 110 100,即664。那么我们又有疑问了,我们初始的默认权限为什么是664呢,上面的test目录权限却是775。

这里就跟权限掩码有关了。其实目录的初始权限是777,普通文件的初始权限是666,但是受权限掩码的影响,初始权限就会变了,我们来看。

可以看到,这个时候的权限掩码是0002,我们可以不管第一个数字,看后面三个,这三个数字其实是八进制,我们转化为2进制就是000 000 010.那我们怎么会得到110 110 100呢。其实最终权限的表达式为:最终权限=初始权限&(~umask)。

我们说过,原本初始权限是110 110 110,根据计算法则,最终权限是110 110 110跟权限掩码取反按位与得到的,算出来就是110 110 100,也就是664。同样的方法,我们也可以算出目录的初始权限。

所以我们可以总结一下:凡是在权限掩码中出现的权限最终要在初始权限中去掉。

四.目录权限----粘滞位

这里我们把目录权限放在这里单独讲,因为它涉及一些特别的用法。

首先我们要明白,进入一个目录需要什么权限?答案是需要x权限。我们想,进入目录,是不是相当于执行这个目录?所以能不能进入目录取决于我们有没有x权限。那我们的r和x权限是用来做什么的呢?r权限是用来查看目录的,w是用来操作目录中的文件的。这样的话就会涉及一个问题:

如果目录的权限大家都是一样的,我可以创建文件、删除文件,那么别人虽然操作不了我的文件,但是他们可以删除我的文件呀,这可怎么办呢。于是我们提出了一个粘滞位的概念。

粘滞位:是给目录设置的,只有文件的拥有者才能删除文件,指令是chmod -t + 目录。这样就可以保证在这个目录下的文件,只有文件的拥有者才能够删除文件。

所以我们要明白几个概念:

1.一个文件是一定属于一个目录的。

2.一个文件的属性能否查看是由目录权限决定的。

3.一个文件能不能删除,是由目录所对应用户的w权限决定的。

以上就是我们权限的所有讲解,希望大家多多支持,谢谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值