Linux 权限

发布于:2025-04-18 ⋅ 阅读:(21) ⋅ 点赞:(0)

(1) 用户切换

我们可以通过 su指令切换用户

su 用户名

默认 su 就是root账户

我们普通用户切换到root用户需要密码

但是root账户切换到普通账户不需要密码  

因为root账户可以无视权限 

 root :超级用户

普通用户:我们新建的用户

Linux所有用户 都要有密码 无论是root还是其他 即便是多个普通用户也要设置密码

(2)权限

权限是人+属性

我们先来看人

Linux  里面的人分为三类  拥有者 所属组  其他人

我们在文件上就可以看见 不同人+不同的属性  就是我们的权限

那么我们怎么更改权限呢?

  方法1 我们可以直接    chmod   u(拥有者)/g所属组/o(other)   +(增加权限)/-(减少权限)

 方法2 我们权限只有 有权限 和 没有权限两种情况

因此可以用二进制表示  比如--x 就是0 0 1也就是1 rwx就是111 就是7

因此

比如说上面我是 chmod 345

3是拥有者的权限  转换成二进制也就是 011 也就是  -wx

4是所属组的权限  转换成二进制也就是 100  也就是r--

5是other的权限    转换成二进制也就是 101   也就是r-x

那么再是思考一个问题

我们文件对所有者只有读权限  对于所属组有读权限也有写权限 

那么这个是时候 所有者可以写文件吗?

答案是不可以的 因为每个用户只能有一个身份  如果是拥有者就不能是所属组了!!!

那么怎么更改所属组和拥有者呢?(other不用更改 因为既不属于所有者也不属于所属组的就是other)

我们如果要更改所属组 可以直接 chgrp 用户  文件名

 我们如果要更改拥有者 可以直接 chown 用户  文件名

但是我这个地方是root用户 在更改的时候不需要 更改后的用户同意

但是普通用户是需要同意的

(3)sudo 指令

就是以超级用户(root来执行后面的指令)

这个地方我们新建的用户ly_centos 没有颁发执行sudo  系统信任 除非未来你将用户添加到信任白名单里面

Example

 sudo whoami 是将 sudo(用于获取超级用户权限)与 whoami(用于查看当前用户)结合的指令,

包括我们这里sudo whoami 一样也是因为 没有颁发执行sudo 

(4)umask指令

我们再来看看普通文件和目录的初始权限是什么

我们可以看到    对于目录 我们初始权限是 rwx  rwx  r-x

对于文件是          rw- rw- r--

为什么初始权限是这些呢?

我想让初始权限是其他的可不可以?

答案是可以的

首先Linux默认给普通文件的起始权限是 666

也就是rw- rw- rw-

给目录文件的起始文件是·777

rwx  rwx  rwx

但是这个地方还有一个东西就是权限掩码

我们可以通过umask查看权限掩码


也可以通过umask改变权限掩码

比如我的权限掩码就是0002

权限掩码有什么作用不呢?

比如我的权限掩码是0002

002   也就是

---   ---  -w-

初始权限=起始权限 去掉 权限掩码中有的权限

那这个地方怎么运算 减法吗?

答案肯定是不可以的 

最终权限=起始权限&(~umask)

(4)粘滞位

目录的 读权限:允许我们查看当前目录内容

           写权限: 是否允许我们在当前目录下进行创建 更改

           执行权限:是否允许用户进入对应目录

一个文件能否被删除和 其所在目录具有写权限(w)有关。写权限允许用户在目录中创建、删除和重命名文件

但是我们接下来思考一个问题

我和朋友要在Linux上互相传文件 但是这个时候就有问题了

我希望这个文件是可以被写入的  但是同时我又担心我朋友把我重要的文件删了  我不想给他删除的权限  这个时候怎么办?

这个时候就可以用到粘滞位了

粘滞位的主要作用是增强共享目录的安全性。在一个共享目录中,多个用户可能都有写入和删除文件的权限,设置了粘滞位之后,只有文件的所有者、目录的所有者或者超级用户(root)才能删除或重命名该目录下的文件。这就避免了用户误删或恶意删除其他用户文件的情况。

chmod +t 文件名 就可以加上粘滞键了!


网站公告

今日签到

点亮在社区的每一天
去签到