【Linux】权限

小小小汐- 2024-07-17 14:07:02 阅读 58

1. 外壳程序(命令行解释器)

shell 是外壳程序的统称

外壳程序的意义:

用户和操作系统交互中间软件层可以在一定程度起到保护操作系统的作用

2. Linux权限

权限的概念:

是否允许别人 "做" 一件事

权限的核心:

人 + 事物的属性

3. Linux用户的概念

具体人的划分:

root用户 , 普通用户

注意:

超级用户(root):可以再linux系统下做任何事情,不受限制

普通用户:在linux下做有限的事情

超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

a. 角色切换

用户之间可以相互切换

root -> 普通用户

su + 普通用户名

普通用户 -> root

su

如果想要切换到超级用户,想要回到普通用户,可以直接 exit

普通用户1 -> 普通用户2

su + 普通用户2名

4. 文件类型

d : 目录-:普通文件p : 管道文件b : 块设备 (如 磁盘)c : 字符设备 (如 显示器,键盘)l : 链接文件

Linux系统下不以文件后缀区分文件类型

5. Linux权限管理

a. 文件访问者的分类(人)

特定人的身份的划分:

拥有者,所属组 ,other (既不是拥有者,也不是所属组)

举例:

第一行: rwx r-x r-x

拥有者既可以读也可以写也可以执行;所属组可以读,可以执行,不可写,other 可以读;可以执行,不可写

b. 权限修改

(一)改人

改人:

改掉某一个文件的拥有者的名字,或者 所属组的名字

第一种方法

必须要切换成超级用户修改

修改拥有者的名字:

chown + 修改后的用户名 + 文件名

修改所属组的名字:

第二种方法

暂时提升从超级用户去修改(前提该普通用户必须在信任名单里面)

(二)改属性

前提当前用户是 root用户,或者是文件的拥有者

第一种方法

修改拥有者的权限属性:

chmod u+r/w/x + 文件名

加上 r/w/x 权限

chmod u-r/w/x + 文件名

减去 r/w/x 权限

修改所属组的权限属性:

chmod g+r/w/x + 文件

加上 r/w/x 权限

chmod g-r/w/x + 文件名

减去 r/w/x 权限

修改other的权限属性:

chmod o+r/w/x + 文件

加上 r/w/x 权限

chmod o-r/w/x + 文件名

减去 r/w/x 权限

注意:

要修改两个及以上不同身份的权限,用 , 隔开(如上图)

修改所有的权限属性:

chmod a+r/w/x + 文件

加上 r/w/x 权限

chmod a-r/w/x + 文件名

减去 r/w/x 权限

第二种方法

我们认为 1 代表有权限 ,0 代表没有权限

举例:

如果要表示 拥有者,所属组 ,other 的 读写执行 都有权限,那么 可以用 111 111 111 表示

每三个一组,变成二进制,就是 777

修改权限属性:

注意:

权限只被认证一次

如:

对于一个文件, 拥有者 和 所属者 是同一个普通用户,那么这个文件对于这个用户的权限只能看 拥有者 或者 所属组,这里会看拥有者的权限

7. 起始权限 和 最终权限

对于文件 :起始权限是 666

对于文件夹: 最终权限是 777

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

注意:

umask 只看后三位

以 tmp.txt为例:

umask : 022 --> 000 010 010

~umask: 111 101 101

&

起始权限: 110 110 110

最终权限: 110 100 100

rwx rwx rwx

8. 粘滞位

注意:

普通用户自己家目录的权限是 700 , 用户在自己家目录创建下的文件,别人是无法访问的一个文件能否删除,不由文件本身决定,由这个文件所处的目录的 w权限 决定有时候,我们需要多个用户进行数据的共享,但容易发生误删互相的文件的情况,如果把该文件所在的目录的 w权限 删掉,那么我们自身也没法创建,修改,删除自己的文件,这个时候,需要用到粘滞位粘滞位:给目录设置(一般这个目录是共享目录),大家在这个目录下,可以对自己的文件进行增删查改,不能删除别人的文件(除了 root用户

chmod +r

设置粘滞位

9. 关于目录权限的总结

目录的可执行权限是表示你可否在目录下执行命令如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。