×

【干货满满】Linux 文件与权限详解
  

凯Kane 2839

{{ttag.title}}
本帖最后由 凯Kane 于 2023-10-17 09:43 编辑

权限
r :读权限,用数字4表示w :
写权限,用数字2表示x :
执行权限,用数字1表示
常用权限
644:代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。
755:代表所有者拥有读、写和执行权限,而所属组和其他人拥有读、执行权限。
777:代表所有者、所属组和其他人都拥有读、写权限。
文件的特殊权限:SUID、SGID、SBIT
SUID:是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。
查看passwd命令属性时发现所有者的权限由rwx变成了rws,其中x改变成s就意味着该文件被赋予了SUID权限。
如果原本的权限是rw-呢?如果原先权限位上没有x执行权限,那么被赋予特殊权限后将变成大写的S。

SGID主要实现如下两种功能:
让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置)。
在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。例在目录设置SGID,则用户在该目录创建文件,文件的默认的用户组将由用户自己的基本用户组变为目录的所属组,使得同组内的其他用户都能访问该文件。

SBIT:确保用户只能删除自己的文件,而不能删除其他用户的文件。
如果赋予了SBIT权限,则其他用户中的可执行权限位会从x-变为t/T
chattr:用于设置文件的隐藏权限chattr [选项] 文件
参数  含义
-R  递归处理目录下的所有文件
-v  设置文件或目录版本
-V  显示指令执行过程
+   开启文件或目录的该项属性
--  关闭文件或目录的该项属性
=   指定文件或目录的该项属性
示例:
用chattr命令防止系统中某个关键文件被修改(加锁):
[root@linuxcool ~]# chattr +i /etc/resolv.conf
解锁:
[root@linuxcool ~]# chattr -i /home/omd/h.txt
让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
[root@linuxcool ~]# chattr +a /var/log/messages
chmod:用于修改文件或目录的访问权限
该命令有两种用法:
一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
chmod [选项] 权限模式 文件或目录
参数  含义
-c   若该文件权限确实已经更改,才显示其更改动作
-f   若该文件权限无法被更改也不显示错误讯息
-v   显示权限变更的详细资料
-R   对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

#用户身份
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组

#赋予方式
+ :加入权限
- :减去权限
= :设置权限
示例:
将档案 file1.txt 设为所有人皆可读取:
[root@linuxcool ~]# chmod a+r file.txt
将目前目录下的所有文件与子目录皆设为任何人可读取 :
[root@linuxcool ~]# chmod -R a+r *
将 file.txt 设定为只有该文件拥有者可以执行:
[root@linuxcool ~]# chmod u+x file.txt

chown:用于修改文件和目录的用户和所属组chown [选项] 所有者:所属组 文件或目录
参数  含义
-R   对目前目录下的所有文件与子目录进行相同的拥有者变更
-c   若该文件拥有者确实已经更改,才显示其更改动作
-f   若该文件拥有者无法被更改也不要显示错误讯息
-h   只对于连结(link)进行变更,而非该 link 真正指向的文件
-v   显示拥有者变更的详细资料
--help  显示辅助说明
--version   显示版本
示例:
将test.txt文件用户组与用户都改为bin:
[root@linuxcool ~]# chown bin:bin test.txt  
将当前目录下所有文件的拥有者都改为 linuxcool,用户组改为 linuxcoolgroup:
[root@linuxcool ~]# chown -R linuxcool:linuxcoolgroup *

chgrp:用于修改文件和目录的所属组chgrp [选项] 所属组 文件或目录
参数  含义
-c   效果类似”-v”参数,但仅回报更改的部分
-f   不显示错误信息
-h   对符号连接的文件作修改,而不更动其他任何相关文件
-R   递归处理,将指定目录下的所有文件及子目录一并处理
-v   显示指令执行过程
--reference 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
改变文件的群组属性:
[root@linuxcool ~]# chgrp -v linuxcool file
将/usr/linuxcool及其子目录下的所有文件的用户组改为cool:
[root@linuxcool ~]# chgrp -R cool /usr/linuxcool

打赏鼓励作者,期待更多好文!

打赏
7人已打赏

嘀嘀柠柠 发表于 2023-10-17 22:11
  
坚持每天打卡学习!!
嘀嘀柠柠 发表于 2023-10-18 23:38
  
每天坚持打卡学习!!
wshellym 发表于 2023-10-19 08:57
  
感谢分享,资料很全面。
技术小白 发表于 2023-10-19 09:16
  
每天学习一点新知识,谢谢分享
奔走的公牛 发表于 2023-10-19 10:23
  
坚持每天打卡学习!!
韩_鹏 发表于 2023-10-19 10:33
  
感谢分享                                         
小霞米 发表于 2023-10-21 09:58
  
坚持每天打卡学习!!
蔺嘉宾 发表于 2023-10-21 09:59
  
坚持每天打卡学习!!
朱墩2 发表于 2023-10-21 10:02
  
坚持每天打卡学习!!
发表新帖
热门标签
全部标签>
西北区每日一问
干货满满
每日一问
技术盲盒
技术笔记
产品连连看
GIF动图学习
技术咨询
标准化排查
新版本体验
安装部署配置
功能体验
信服课堂视频
2023技术争霸赛专题
自助服务平台操作指引
每周精选
解决方案
设备维护
秒懂零信任
升级
高手请过招
升级&主动服务
答题自测
玩转零信任
信服圈儿
通用技术
技术晨报
社区新周刊
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高频问题集锦

本版版主

10
17
2

发帖

粉丝

关注

124
74
30

发帖

粉丝

关注

26
8
0

发帖

粉丝

关注

70
37
1

发帖

粉丝

关注

6
14
0

发帖

粉丝

关注

18
10
5

发帖

粉丝

关注

本版达人