centos7下文件权限管理
centos7文件权限管理
一.文件权限讲解
1.文件基本权限
基本权限:
读:r,写:w,执行:x
数字表示为:
r:4 (可读)
w:2 (可写)
x:1 (可执行,一般用于可执行文件,例:a.exe,b.sh)
2.用户身份
U : user,代表文件的拥有者(默认为文件的创建者)
G :group,与文件所属组同组的用户(组内用户)
O :other,既不是拥有者,也不是所属组内的用户,这些用户就称之为其他用户
3.查看文件权限
ls命令:
ls -l 或 ll
(ll为ls -l的缩写)
例: ll /mnt/a
文件默认权限为:644
即:u=rw,g=r,o=r
默认不可执行
4.查看目录(文件夹)权限:
ls命令:
ls -ld 或 ll -d
例: ll -d /mnt/a
文件夹默认权限为:755
即:u=rwx,g=rx,o=rx
文件所属者默认可读可写可执行
其余用户默认可读可执行
ps:默认权限可修改,后续会提到
二.更改文件权限
1.chmod命令:
chmod [选项] 字母形式或数字形式 文件名称
选项说明:
-R : 递归设置,针对文件家(目录)
可使用rwx也可使用数字修改
新手推荐使用rwx修改
老手一般使用数字进行修改
2.chmod命令使用:
例: chmod g+w /mnt/a/b
给/mnt/a/b文件修改权限
b文件的同组用户添加w(可写)权限
例:chmod o-r /mnt/a/b
给/mnt/a/b文件修改权限
b文件的其他用户去掉r(可读)权限
例: chmod -R u+x /mnt/a
给/mnt/a目录下的所有文件修改权限
所有文件的文件所属者添加x(可执行)权限
例: chmod 777 /mnt/a/b
给/mnt/a/b文件添加所有权限
三.高级权限讲解(摘抄)
冒险位(u + s) => S
- 冒险位,指文件操作者(用户)临时拥有文件拥有者的权限
- 冒险位,一般针对的是命令或者脚本文件
- 冒险位,用字母表示是s或S;数字表示是4
- 冒险位的设置:chmod u+s 文件名或者chmod 4xxx 文件名
主要针对可执行的二进制文件,如/usr/bin/passwd文件
② 强制位(g + s)
- 强制位,一般针对的是目录
如果一个目录拥有强制位,那么任何用户在该目录里所创建的任何文件的属组都会继承该目录的属组。 - 强制位,用字母表示是s或S;数字表示是2
- 强制位的设置:chmod g+s 文件名或者chmod 2xxx 文件名
主要针对目录进行设置,比如shop目录,文件拥有者root,所属组itheima,g+s
这样以后我们在shop目录下创建的所有文件的所属组都会继承shop文件夹的itheima
③ 粘滞位(o + t) => T
- 粘滞位,一般针对的是公共目录
如果一个公共目录拥有粘滞位,那么该目录下的文件,只有root和文件的创建者可以删除,其他人只能自己管理自己。(A用户不能删除B用户创建的文件) - 粘滞位,用字母表示是t或T;数字表示是1
- 粘滞位的设置:chmod o+t 文件名或者chmod 1xxx 文件名
ps:三.高级权限为网上摘抄
四 文件默认权限
1.文件默认权限:
文件默认权限由umask控制:
可使用命令umask查询当前umask值:
umask
2.修改文件默认权限:
临时修改:
umask 002 (此命令为临时设置,只在当前终端生效)
永久修改:
vi /etc/bashrc
…
umask 0002
…
source /etc/bashrc (重新生效)
五.更改文件拥有者与所属组
chown修改文件拥有者
chown [选项] 新文件拥有者 文件名称
选项说明:
-R :递归设置,主要针对文件夹
chgrp修改文件所属组
chgrp [选项] 新文件所属组 文件名称
选项说明:
-R :递归设置,主要针对文件夹
chown同时修改
chown [选项] 新的文件拥有者:新的文件所属组 文件名称
选项说明:
-R :递归设置,主要针对文件夹
六.ACL访问权限讲解
背景:
两组用户,一组可读,一组可读可写.
解决方案1:
使用所属组和其他用户实现
所属组可读可写
其他用户可读
ps:不推荐使用解决方案1,因为给在工作环境中给其他用户设置高权限风险太大,一般其他用户权限设为0,因此引入解决方案2
解决方案2: ACL访问权限控制实现
命令及语法:
getfacl:
getfacl = get + file + acl => 获取某个文件的ACL权限
例: getfacl /mnt/a/b
setfacl:
例: setfacl -m u:user1:rw /mnt/a/b
常用选项:
-m 修改或者设置ACL策略
-R 递归授权,对目录下已存在的目录或文件有acl策略,但新建的文件没有
-x 去掉某个用户或者某个组的权限
-b 删除所有的acl策略
-d 默认ACL策略,只针对目录,该目录下新建的目录和文件都会继承acl策略
mask: 定义除其他人和所有者外的最大权限
使用命令setfacl进行设置:
setfacl -m g:group1:rw /mnt/a/b
setfacl -m g:group2;r /mnt/a/b
ps:实际工作中,推荐使用解决方案二,简单,风险低.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具