最近在拿着Linux 鸟叔私房菜对着Linux 系统学习一下基本操作,虽然已经使用Linux系统已经好多年不过却一直没有系统的学习一下。在用vim 编辑一个文件的时候出现了一个很神奇的事情,明明该文件是root创建的,而普通用户是没有写权限的,而我无意中用普通用户写了以后竟然可以保存,虽然是强制保存但是毕竟是保存了,这并不符合权限的操作要我感到疑惑,为此在晚上搜索了好久也没有找到什么靠谱的解答,最后还是在私房菜这本书中找到了答案,那就是文件所在目录的权限是可以影响目录内的文件的。

用户对某文件目录可读,  r,   那么用户对目录下的所有文件都是可见的。

用户对某文件目录可写,  w,  那么:

你可以在该目录之下新建文件和目录

你可以删除该目录下的任何文件及目录(不论该文件的权限如何)

将已经存在的该目录下的文件或目录进行重命名

转移该目录下的文件和目录的位置

基本上如果用户对某目录具有 w 权限 就可以对该目录下面的所有文件及目录进行 关于文件名的修改。

root 新建立了一个 txt 文件 , 123.txt

123.txt  所在目录的权限如上, 是普通用户的rwx

123.txt  文件内容如上。

修改文件内容:

强制保存成功,  wq!

再次查看权限:

发现 vim 强制保存成功后,文件所属的用户及组都已经变化了。

个人观点:

vim 的强制保存  其实是新建了一个文件,  也就是说它把该原文件(可读)的内容,已经修改好的内容保存,并且删除掉原文件,并重新建立文件,再把内容写回去。

vim没有权限却可以强制保存时所引起的思考 ------ 文件夹权限对所属文件的权限影响的更多相关文章

  1. Linux常用命令,查看树形结构、删除目录(文件夹)、创建文件、删除文件或目录、复制文件或目录(文件夹)、移动、查看文件内容、权限操作

    5.查看树结构(tree) 通常情况下系统未安装该命令,需要yum install -y tree安装 直接使⽤tree显示深度太多,⼀般会使⽤ -L选项⼿⼯设定⽬录深度 格式:tree -L n [ ...

  2. linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限

    命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用  -h   格式   命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...

  3. 文件夹添加 IIS 应用程序池用户权限

    http://serverfault.com/questions/81165/how-to-assign-permissions-to-applicationpoolidentity-account ...

  4. [Ubuntu]修改文件夹及所有子文件夹权限

    sudo chmod -R 777 FILE_NAME 使FILE_NAME文件或文件夹具有读写和执行的权限.

  5. 安装wampserver后,在www文件夹下面写php文件,而在网页里输入localhost而无法打开php文件时解决办法汇总

    wampserver安装后,在www文件夹下面写入xx.PHP文件,然后在网页里输入localhost:xx.PHP. 你可能会遇到如下三种情况: 情形一:网页上显示空白,按F12,出现404的错误. ...

  6. 为web文件夹添加IIS应用程序池用户权限

    在文件夹或文件右键属性—>安全——>编辑——>添加——>输入IIS APPPOOL\应用程序池名,确定即可将IIS 7或7.5.8的应用程序池虚拟用户添加到权限控制里面,然后再 ...

  7. linux下移动或者复制文件覆盖相同文件夹时,文件夹里面的每个文件都提示是否覆盖

    链接地址:http://blog.chinaunix.net/uid-23683795-id-2391087.html # vi ~/.bashrc   如果你看到如下内容,以下命令都会用别名执行了, ...

  8. Inno如何在安装完成时删除指定的文件夹(下的所有文件及子目录)??

    删除安装目录下的任意文件夹及下的所有文件及子目录,或者删除指定目录的文件夹,要如何做到呢?谢谢!! //删除文件    用 DeleteFile 只能删除一个文件,不能使用通配符来删除多个文件Dele ...

  9. 安装bootcamp时提示“找不到$winpedriver$文件夹,请验证该文件夹是否和bootcamp处于同一文件夹内?”

    问题:我苹果系统是10.8.3的 装的win7 64位的! 这个bootcamp是我在别人那里拷贝的,我装的时候就这样了,但是别人装是好好的,还有我在MAC系统下载bootcamp的时候我的U盘格式是 ...

随机推荐

  1. Redis持久化磁盘IO方式及其带来的问题

    有Redis线上运维经验的人会发现Redis在物理内存使用比较多,但还没有超过实际物理内存总容量时就会发生不稳定甚至崩溃的问题 一.对Redis持久化的探讨与理解 redis是一个支持持久化的内存数据 ...

  2. (转)利用Spring AOP自定义注解解决日志和签名校验

    一.需解决的问题 部分API有签名参数(signature),Passport首先对签名进行校验,校验通过才会执行实现方法. 第一种实现方式(Origin):在需要签名校验的接口里写校验的代码,例如: ...

  3. mysql数据库访问权限限制设置

    ---只能本地访问,设置随意访问 update user set host='%' where host='localhost': flush privileges; ---随意访问,设置只能本地访问 ...

  4. 多线程Java面试题总结

    57.Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?答:sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指 ...

  5. 前端基础(CSS)

    CSS 语法 .clearfix:after{ content: ""; display: block; clear: both; } 解决 float 块之后的塌陷(后面增加了一 ...

  6. 78. Subsets(回溯)

      Given a set of distinct integers, nums, return all possible subsets (the power set). Note: The sol ...

  7. Lyft Level 5 Challenge 2018 - Elimination Round

    A. King Escape 签. #include <bits/stdc++.h> using namespace std; ], y[]; int f1(int X, int Y) { ...

  8. 查看本地mysql安装路径

  9. Linux笔记 #06# 在VPS上自建Git服务

    参考: GitHub Help: Connecting to GitHub with SSH 廖雪峰的官方网站: 搭建Git服务器 菜鸟教程: Git 服务器搭建 1. 安装记录(可能有错...) 本 ...

  10. c++第二十二天

    p120~p124: 表达式 1.表达式由一个或者多个运算对象组成. 2.最简单的表达式是字面值和变量. 3.一元运算符作用于一个运算对象,二元则作用于两个.一个运算符到底是几元由上下文决定. 4.重 ...