Linux中文档和目录的权限

众所周知 , Linux中文档的权限包括所有者权限(User)、同组权限(Group)和其他权限(Other)。使用rwx来作为表示,分别为read、write和execute。

这里使用一个小案例来对Linux中目录和文件权限进行一些解释说明

在linux系统中创建两个组bash>groupadd godbash>groupadd monster
同时创建三个用户,放入不同的两个组中bash>useradd wukong -g monsterbash>useradd bajie -g monsterbash>useradd shaseng -g god
这样就会在/home文件下生成不同的user文件bajie、wukong、shaseng

将用户切换到悟空,在wukong/下创建monkey.java文件,并给予同组读写权限bash>touch monkey.javabash>chmod 660 monkey.java
这样monster组中就有了该文件的读写权限

将用户切换到八戒,尝试对该文件进行修改,发现并不能进入wukong/,所以需要悟空对目录权限进行修改bash>chmod 770 wukong/
这样八戒就有了wukong/的访问和修改权限,就能对monkey.java进行修改了



下面重点

使用悟空将monkey.java文件修改为同组只读权限bash>chmod 640 monkey.java

按理来说这样八戒只有对该文件的读取权限 ,没有修改权限了。
但是当我们使用vim时,会发现:wq!指令依然能够生效。并且在修改完成后会修改该文件的所有者为八戒

这是因为八戒拥有对wukong/目录的修改权限,因此对悟空目录下的所有文件都有修改权限。
因此即使该文件表面上无法修改,但是八戒可以通过直接修改该文件的所有者来获得该文件的修改权
因此只要悟空将wukong/目录的写权限收回,即可防止该问题发生bash>chmod 750 wukong/
但是需要注意的是,悟空不能通过以下命令来修改文件的所有者权限bash>chown wukong monkey.java

这样当八戒需要修改文件时,就会发现没有该文件的权限了。


当然这里还有一个小问题,为什么用户不能通过chown来修改文件的所有者,而vim可以呢?
大概是因为vi会在编辑文件时用swap文件做暂存,当发现对该文件的修改权限不够时,会将原文件删除,而将swap文件作为新文件保存。
详细的解释在鸟哥的私房菜里有提到哈,需要的可以查看一下鸟哥的LINUX私房菜

用一个小案例来解释linux中文件或目录的权限相关推荐

  1. 【Linux】文件、目录与权限

    一.Linux权限的概念 Linux下有两种用户:超级用户(root)和普通用户(user) 超级用户:可以在Linux下做任何事 普通用户:权限有限,有些行为不被允许 超级用户的命令提示符为**#, ...

  2. Linux新建文件和目录的权限

    新建文件的默认权限:666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变 新建目录的默认权限:777-umask 非特权用户umask默认是002 root的umask默 ...

  3. Linux创建文件或目录的权限

    一.Linux文件的权限   1.文件创建时的默认权限是666,也就是没有执行权限rw-rw-rw-,普通文件的执行权限系统会默认去掉:目录的默认权限是777,也就是满权限rwxrwxrwx.   2 ...

  4. linux里的drwxr-xr-x代表的权限解释,以及linux中文件和目录的类型,查看用户用户组

    文件权限解释 权限的计算是除去第一位字母开始,权限都是三个符号为一组合,其中-表示没有这个权限 d:第一位表示文件类型.d是目录文件,l是链接文件,-是普通文件,p是管道 rwx:第2-4位表示这个文 ...

  5. java 在linux创建文件或目录 设置权限

    1. //Runtime.getRuntime().exec("chmod 777 /home/test3.txt"); 2. file.setExecutable(true);/ ...

  6. linux文件目录含义,Linux中文件权限目录权限的意义及权限对文件目录的意义

    linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括增加删除文件的具体内容: x:文件就具有了可执行的权限-------注意:这里和w ...

  7. Python:通过一个小案例深入理解IO多路复用

    通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import timestart = time.time()u ...

  8. 【晒出你的第83行代码】阿里研究员福贝,用一个小演示程序来解释一下 C++11/14 里的 closure 是可以多么的“爽”...

    为什么80%的码农都做不了架构师?>>>    摘要: 在五四青年节之际,社区发起了来晒晒属于你的"第83行"的活动,活动中邀请业界的大牛.大神们来晒代码或者Re ...

  9. 一个小案例理解case穿透、switch语句

    一.用case穿透简化代码以一个小案例为例:键盘录入星期数,输出工作日.休息日(1-5)工作日,(6-7)休息日 package test;import java.util.Scanner;publi ...

最新文章

  1. 腾讯AI Lab开源世界首款自动化模型压缩框架PocketFlow:将深度学习装进口袋
  2. jquery图片幻灯片(小图列表,大图展示)
  3. 3.5 集束搜索的误差分析-深度学习第五课《序列模型》-Stanford吴恩达教授
  4. Drupal7主题初步设置篇-Ubuntu 14.04 LTS
  5. 成功解决building ‘snappy._snappy‘ extension error: Microsoft Visual C++ 14.0 is required. Get it with “B
  6. C++——cout输出流与字符指针
  7. python 用户的画像可视化呈现技术_一人一车一面:解读汽车大数据用户画像背后的AI技术...
  8. python开发-常见面试题
  9. 毕业2月有余,苏州同学腐败第二次大聚会
  10. 将某一列转换为字符类型_还在为数据清洗抓狂?这里有一个简单实用的清洗代码集...
  11. libtoolize: error: Please install GNU M4, or 'export M4=/path/to/gnu/m4'
  12. Darabonba:多语言SDK开发终极解决方案
  13. Python 画数学函数图像 matplotlib.pyplot
  14. html设置单元格不可编辑状态,excel单元格不能编辑 如何取消Excel 2013中单元格的直接编辑状态...
  15. 什么专业可以留学计算机动画,美国留学计算机动画专业怎么样?
  16. Office Online Server 2016 安装部署笔记
  17. 中职计算机图形图像课程标准,计算机图形与图形图像处理技术的相互结合
  18. Python课堂笔记之判断一个数组中是否含有数字0
  19. 华为路由器怎么看是不是公网_华为路由器怎么判断有没有被蹭网
  20. 经济数据预测 | Python实现ARIMA时间序列金融市场预测

热门文章

  1. 干货收藏|医疗数据安全、临床业务容灾、智能运维及数字化转型方案集锦
  2. 艾永亮:从辉煌到没落,这部国产机你用过吗?
  3. Tomcat 8 部署activiti-explorer 流程设计器
  4. 求求大厂给个Offer:List面试题
  5. 外置手柄、方向盘、XR设备、电笔等控制设备,在Unity中的输入
  6. 数据分析面试中的业务问题
  7. 945G显卡打开XGL
  8. 公司法超范围经营会有哪些处罚
  9. 计算机id和密码怎么查,怎么查看自己的wifi名字及密码?
  10. 应该怎么学习Python? 如何学好?(十条建议)