当前位置: 首页 > news >正文

完整教程:OS9.【Linux】基本权限(下)

完整教程:OS9.【Linux】基本权限(下)

目录

1.默认权限

掩码

修改权限掩码

目录的权限说明

r权限

w权限

x权限

结论

家目录权限

2.共享目录

粘滞位t 


承接OS8.【Linux】基本权限(上)文章

1.默认权限

创建用户时拥有者所属组都是该用户,而且对其他人没有任何权限

掩码

新建文件new.txt1和目录folder后,立刻查看它们的权限:

显示目录的默认权限:775

显示普通文件的默认权限:664

思考:为什么会出现以上默认的权限?

其实:系统提供普通文件的默认权限是666,而目录的默认权限是777,664与666不同的原因和775和777不同的原因和权限掩码umask有关

输入umask命令:

umask

只看后3位002,最左侧的0不管,给出以下规则:

在umask出现的权限(二进制位为1)不会在最终的文件权限中出现,而umask中未出现的权限(二进制位为0)保持起始的权限位

推测最终权限是掩码和起始权限通过某运算规则得到的,

这个运算规则是:最终权限=原始权限&(~掩码)

也可以变形为~(~原始权限|掩码),使用德摩根定律

P\land{\neg{Q}}=\neg({\neg}P\lor{Q})

 写一个简单的程序验证下:

#include int main(){    printf("%d", 666 & (~002));    return 0;}

运行结果:

#include int main(){    printf("%d", ~(~666|002));    return 0;}

  运行结果:

修改权限掩码

例如修改成0123:

umask 0123

目录的权限说明

使用控制变量法,逐个尝试,设目录folder里面有test.txt文件

r权限

先禁掉w和x权限:

chmod u+r-wx,g+r-wx,o+r-wx folder

 查看目录中的文件:只知道文件名,但不知道文件的权限

无法查看test.txt的内容:

无法向test.txt写入内容写入内容:

不允许进入目录:

w权限

先禁掉r和x权限:

chmod u+w-rx,g+w-rx,o+w-rx folder

无法查看目录中的文件:

无法向test.txt写入内容写入内容:

不允许进入目录:

x权限

先禁掉r和w权限:

chmod u+x-rw,g+x-rw,o+x-rw folder

无法查看目录中的文件: 

尝试向test.txt写入内容:可以写入,能打印到显示器上

可以进入目录里:

结论

可执行权限x: 如果目录没有可执行权限, 则无法cd到目录中;

可读权限r: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容;

可写权限w: 如果目录没有可写权限, 则无法在目录中创建、更改或删除文件.

-->一个文件是否能被删除,不由文件本身决定,而由其所处的目录决定

家目录权限

普通用户的家目录权限是700,也就意味着一个普通用户无法访问另一个普通用户的目录,但root除外,其有最高权限

2.共享目录

如果多个普通用户想共享一个目录,则这个共享目录不能在任何一个人的家目录下

现以root身份创建共享目录shared:

粘滞位t 

为了防止其他用户删除目录中的文件,

1.shared目录中,对other去掉权限w是不能解决问题的,由上述对w权限的分析,这样就无法创建文件,

2.缺点:只能以root身份建立共享目录,且只有以root身份才能增删改查,例如上方提到的shared目录

解决方法:根目录下有一个自带的tmp目录,可以在其中对用户各自的文件进行增删改查操作,其中权限中的t为粘滞位(可以通过chmod o+t设置),是特殊的x权限,当前认为: 只有root和拥有者能删除文件,其他人都不允许

例如以guest身份创建一个test.txt,切换为zhang身份却发现无法删除test.txt

http://www.hskmm.com/?act=detail&tid=24853

相关文章:

  • arEPRP and arEHS
  • 图论
  • 价值原语博弈:AI元人文的伦理架构探索
  • 文件的物理结构I
  • VR/AR 显示瓶颈将破!铁电液晶技巧迎来关键突破
  • 博客园-awescnb插件-geek皮肤异常问题修复
  • 国庆 Day1 强基化学
  • 2025 年 AI 应用数据泄露防范:以“流式网关”为中枢的链路化治理与合规映射
  • Alexa进入自主时代:AI技术新突破
  • 入门AJAX——XMLHttpRequest(Get) - 教程
  • ROM和RAM
  • 深入解析:C#学习26天:内存优化的几种方法
  • 整理数据制作 直方图,箱须图,概率密度估计(KDE)图
  • UCosIII 在 Tang Nano 20K 的 SparrowRV 软核移植
  • SIP抓包工具 SIP抓包 SIP抓包
  • 2025声级计厂家最新权威推荐排行榜单! 数字声级计,精密声级计,防爆声级计,手持式声级计,剂量声级计公司推荐!
  • python中使用高并发分布式队列库celery的那些坑 - 指南
  • 在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名计算机控制AI框架需求洞察
  • Codeforces Round 1040 (Div. 1)
  • 2025十一集训——Day3做题
  • 目标检测任务的评估指标P-R曲线 - 指南
  • abc426 题解
  • 运行npp并打开实时双向同步的今日日记纯文本文档 2025年10月5日
  • 完整教程:python学习打卡day43
  • mac 下修改本机hosts
  • 2025测振仪厂家最新企业品牌推荐排行榜,自动诊断测振仪,防爆测振仪,智能测振仪,诊断故障测振仪推荐!
  • 【JNI】JNI环境搭建
  • CS自学笔记
  • vue: 报错: vue ResizeObserver loop completed with undelivered notifications.
  • 原来一个人真的是通过别人认识自己的