Linux文件权限详解
Linux文件权限详解
Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式对文件和目录进行访问和操作。
一、文件权限
文件的权限针对三类对象进行定义
owner 属主,缩写u
group 属组,缩写g
other 其他,缩写o
每个文件针对每类访问者定义了三种主要权限
r:Read 读
w:Write 写
x:eXecute 执行
另 X:针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)
注意:root账户不受文件权限的读写限制,执行权限受限制
二、修改文件访问权限的方法
chmod 修改权限 change mode
三、UMASK值
作用:取消对应的权限,影响创建文件和目录的默认权限
四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)
suid
作用:给一个用户继承二进制程序所有者拥有的权限
suid权限位 位于所有者的执行权限位上,如果一个文件具有suid权限,则所有者执行位为s,文件表现为红色背景
sgid
作用1:给一个用户继承二进制程序所有组拥有的权限
sgid权限位 位于所有组的执行权限位,如果一个文件具有suid权限,则所有组的执行位为s,文件表现为黄色背景
sticky
作用:作用于目录上,此目录的文件只能被所有者删除
sticky权限位 位于其他的执行权限位上,如果一个文件具有sticky权限,则其他的执行位为t,目录表现为绿色背景
五、ACL访问控制列表
作用:实现更加灵活的权限管理,打破了三类用户的权限管理
添加ACL权限
setfacl -m u:wang:0 file 使wang账户对指定file文件无权限
setfacl -m u🧙rw file 使mage账户对指定file文件有读写权限
setfacl -m g:g1:rw file 使g1组对指定file文件有读写权限
getfacl file 查看指定file文件的ACL权限
ACL权限执行顺序类似于用户获取文件权限的顺序,getfacl顺序从上到下执行,一旦生效,下面的将不再生效(如果属于多个组,权限累加)
删除ACL权限
setfacl -x u:wang file 删除wang账户对指定file文件的ACL权限
setfacl -x g:g1 file 删除g1组对指定file文件的ACL权限
ACL权限下的mask
设置用户对指定文件所能拥有的最大权限(限高作用)
setfacl -m mask::r file 使指定文件file所拥有的最大权限位读r
setfacl -x mask::r file 取消指定文件file的最大权限限制mask
setfacl -b f1 取消f1文件所有的ACL权限
ACL生效顺序:所有者、自定义用户、自定义组、其他人
备份和恢复ACL权限
getfacl -R /tmp/dir1>acl.txt 将dir1目录下ACL权限备份
setfacl -R –set-file=acl.txt /tem/dir 恢复dir1目录下ACL权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南