
Linux 文件与目录权限
本文最后更新于 2024-11-14,文章内容可能已经过时。
🌲Linux 树状结构
/ : 操作系统的起始路径根路径
-
/bin: 普通用户和管理员都可以执行的命令字
-
/sbin: 只有管理员才能执行的命令关机重启
-
/boot: 引导主引导目录独立的分区启动菜单内核
-
/dev: Device 设备设备文件存放目录
-
/etc: 配置文件存放目录
-
/home: 普通用户的家目录
-
/root: 管理员的家目录
-
/media: 光驱的挂载目录
-
/mnt: 临时设备挂载目录
-
/proc: 里面的数据都在内存中,进程的所在目录
-
/tmp: 临时文件存放目录
-
/usr: 软件的安装目录
-
/var: 常变文件存放目录日志文件邮件文件
Linux 文件与目录权限
类 Unix 系统中权限类别:文件拥有者、文件所属组、其他用户
当一个新文件创建时,其权限由创建文件的进程 umask 决定
权限就是对文件的「枷锁」,有不同权限的人才能进入不同的入口
🎈查看文件信息
在使用 ls 命令后可以看到如下格式的文件显示方式
drwxr-xr-x. 2 zyl zyl 6 Oct 11 14:02 Desktop
1 2 3 4 5 6 7
-
文件权限
-
文件:文件的个数 ; 目录:目录的个数
-
文件所有者
-
文件所属组
-
文件大小
-
修改文件的时间
-
文件名 / 目录名
💡文件权限
d rwx r-x r-x .
1 2 3 4 5
-
文件类型
-
- 普通文件
-
d 目录
-
b 块设备
-
l 符号链接
-
c 字符设备
-
s 套接字
-
-
文件所有者对该文件的权限(属主权限)
-
文件所属组对该文件的权限(属组权限)
-
其他用户对该文件的权限(既不是文件所有者,也不是文件所属组)
-
selinux 安全模块的安全标记(扩展安全上下文)
💡rwx 权限的赋予
在文件中:
r:可读
w:可写
x:可执行
在目录中:
r:可以查看目录的内容
w:可以对目录进行编辑(如创建删除文件)
x:可以进入目录
🎈文件权限修改
💡文字设定法
chmod [对象][算数运算符][权限] 文件
对象:
-
u: 文件所有者
-
g: 文件所属组
-
o: 其他用户
-
a: 所有人
算数运算符:
-
+ - =
权限:
-
r w x
例子:
chmod u-w 123456/
chmod u=r 123456/
chmod ug=rwx 123456/
chmod ug+w 123456/
chmod u-w,g-wx 123456/
💡数字设定法
chmod [权限数字] 文件名
chmod 644 文件名
chmod 0644 文件名
权限数字由三个 8 进制数组成:
-
r:4
-
w:2
-
x:1
-
-:0,没有权限
-
百位:文件所有者
-
十位:文件所属组
-
个位:其他用户
-
千位:特殊权限
💡默认权限
默认情况下创建文件的默认权限
-
普通用户:文件:664 目录:775
-
root:文件:644 目录:755
umask:权限掩码
umask 是用来指定 目前用户在新建文件或者目录时候的权限默认值
例如 root 默认的 umask 为 022,也就是说,对于当前用户没有拿掉权限,group 用户和 other 用户都被拿走了 w 权限,所以此时如果用户进行创建目录和文件的时候,默认权限是会进行如下的减法操作:
-
新建文件:666-022=644
-
新建目录:777-022=755
默认权限 = 最高权限(文件:0666 目录:0777)- 权限掩码(root:0022 普通用户:0002)
修改文件的所属用户
chown [用户] [文件]
修改文件的所属组
chgrp [组] [文件]
🎈三种特殊权限
💡sticky 粘滞位
文字设定法:o+t
数字设定法:1xxx
作用:sticky 权限一般针对目录来设置,作用是只允该目录下的文件的创建者删除自己的创建的文件,不允许其他人删除文件。(root 用户除外,因为 root 用户是超级管理员),而且 sticky 权限只能设置在 other 位置上。
其他用户权限如果没有 x 为 T ; 有 x 为 t
💡sgid
文字设定法:g+s
数字设定法:2xxx
作用:sgid 权限一般应用在目录上,当一个目录拥有 sgid 权限时,任何用户在该目录下创建的文件的属组都会继承该目录的属组。
在目录下创建文件 继承 所属组,目录 继承所属组和 sgid 权限
💡suid
文字设定法:u+s
数字设定法:4xxx
作用:让普通用户临时拥有该文件的属主的执行权限,suid 权限只能应用在二进制可执行文件(命令)上,而且 suid 权限只能设置在属主位置上。
针对 suid 权限有两种提权方式
-
vim 提权
-
find 提权