一、学习目标
- 本次学习主要掌握 Linux 文件系统权限相关知识,学会配置权限,理解不同权限带来的安全影响。
- 可以查看文件与目录权限,读懂权限含义,理解权限对所有者、所属组、其他用户访问的控制作用。
- 熟练使用命令修改文件权限、修改文件所有者与所属组。
- 理解 suid、sgid、sticky 特殊权限,掌握 umask 掩码,能够控制新建文件的默认权限。
二、知识点汇总
文件系统权限是 Linux 的安全访问机制,用来限制不同用户对文件、目录的读写执行操作。
它把用户分为三类:文件所有者、所属组成员、其他用户;每一类用户都拥有读 ®、写 (w)、执行 (x) 三种权限。当用户访问文件时,系统识别用户身份,匹配对应权限做访问控制。
查看文件权限命令:
ls -l 文件名
解释-rw-r–r–这个字符串
第 1 位-:代表普通文件,如果是d代表目录
rw-:所有者权限:可读、可写,无执行权限
r–:所属组权限:仅可读,不可写、不可执行
r–:其他用户权限:仅可读,不可写、不可执行
对应数字权限:644
使用什么命令可以更改文件和目录的权限?写出分别使用符号法和数值法将权限从 754 修改为 775 的命令。
修改权限命令:chmod
数值法
chmod 775 文件名
符号法:组增加写权限,其他用户增加执行权限
chmod g+w,o+x 文件名
使用chown命令。
#同时修改所有者和所属组
chown 所有者:所属组 文件名
#仅修改所有者
chown 新用户 文件名
#仅修改所属组
chown :新组 文件名
#-R递归,修改目录以及目录内部所有文件
chown -R 所有者:所属组 目录名
-
suid(4xxx)
只对可执行二进制文件生效。普通用户运行该程序时,临时获得文件所有者权限;对目录无效。典型:passwd命令。 -
sgid(2xxx)
文件:执行程序时,临时获得文件所属组权限
目录:目录内新建文件,自动继承该目录的所属组 -
sticky 粘滞位 (1xxx)
仅对目录生效。目录内所有人都能创建文件,但是用户只能删除自己创建的文件,不能删除别人的文件,典型目录/tmp。
umask 是权限掩码,用来扣除部分权限,决定新建文件、目录的默认权限。
实际权限 = 系统最大权限 − umask
目录原始最大权限:777,文件原始最大权限:666
umask 0022:把掩码设置为 0022
新建目录:777 – 022 = 755
新建普通文件:666 – 022 = 644
三、心得总结
实操小注意:修改目录权限递归要加-R参数,尽量不要随便设置 777 全开权限,存在安全风险。遇到权限报错优先执行ls -l查看权限和属主信息,再针对性调整。





