×

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

凯Kane 3090

{{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人已打赏

dhf 发表于 2024-1-31 21:36
  
感谢楼主的精彩分享,有助工作!!!
Meganliu 发表于 2023-11-13 09:51
  
坚持每天打卡学习!!
高挑且气度不凡的向日葵 发表于 2023-11-7 09:06
  
感谢分享有助于工作和学习
何东升 发表于 2023-10-30 14:33
  
感谢分享有助于工资和学习!
何东升 发表于 2023-10-21 19:12
  
感谢分享有助于工资和学习!
小鱼儿 发表于 2023-10-21 10:32
  
坚持每天打卡学习!!
小鱼儿 发表于 2023-10-21 10:29
  
坚持每天打卡学习!!
小西北 发表于 2023-10-21 10:26
  
坚持每天打卡学习!!
鲤鲤 发表于 2023-10-21 10:25
  
坚持每天打卡学习!!
发表新帖
热门标签
全部标签>
安全效果
每日一问
西北区每日一问
技术笔记
技术盲盒
【 社区to talk】
干货满满
信服课堂视频
新版本体验
技术咨询
产品连连看
标准化排查
每周精选
功能体验
自助服务平台操作指引
排障那些事
GIF动图学习
2023技术争霸赛专题
技术晨报
安装部署配置
运维工具
解决方案
秒懂零信任
故障笔记
技术圆桌
云计算知识
用户认证
技术顾问
资源访问
存储
技术争霸赛
「智能机器人」
以战代练
社区新周刊
畅聊IT
答题自测
专家问答
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
原创分享
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
地址转换
虚拟机
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
通用技术
卧龙计划
华北区拉练
天逸直播
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
高手请过招
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
云化安全能力

本版版主

10
17
3

发帖

粉丝

关注

124
74
30

发帖

粉丝

关注

26
8
0

发帖

粉丝

关注

70
36
1

发帖

粉丝

关注

6
14
0

发帖

粉丝

关注

18
10
5

发帖

粉丝

关注

本版达人