(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 文件名 就可以加上粘滞键了!