问题源头:

  登录到服务器(实验室分的一个服务器账号)上,想在当前目录下创建一个文件,但提示“文件系统只读”,无法创建文件。通过ls -l查看当前用户在当前目录的权限,发现具有rwx权限。所以在想会不会是因为我在父目录中没有w权限导致我无法在当前目录创建文件。但发现在父目录中我也是rwx权限...(最后,我感觉这个问题可能是服务器管理员对硬盘加了写保护)

  于是我做了以下的实验,想验证"父目录的权限对子目录的权限有没有影响?"  例如,某用户在父目录(testDir)没有写权限,那么该用户在当前目录(testDir/abc/)能否执行写操作?

lxw ~$ ls -ld testDir/
drwxrwxr-x lxw lxw Dec : testDir/
lxw ~$ chmod testDir/
lxw ~$ ls -ld testDir/
dr-x------
lxw lxw Dec : testDir/
lxw ~$ cd testDir/
lxw testDir$ touch parentFile  #合理,对testDir无w权限
touch: cannot touch ‘parentFile’: Permission denied
lxw testDir$ ls -l
total
drwxrwxr-x lxw lxw Dec : abc
-rw-rw-r-- lxw lxw Dec : txt
lxw testDir$ cd abc/
lxw abc$ ls
lxw abc$ touch childFile     #父目录虽然没有w权限,但只要我能够进入当前目录(具有x权限),我就能够按照我在当前目录的权限,进行操作。
lxw abc$ ls
childFile

  所以,经过上面的验证,父目录虽然没有w权限,但只要我能够进入当前目录(具有x权限),我就能够按照我在当前目录的权限,进行读写操作。

  现在我让testDir/目录只保留x权限:

lxw ~$ chmod  testDir/
lxw ~$ ll -d testDir/
d--x------
lxw lxw Dec : testDir//
lxw ~$ cd testDir/
lxw testDir$ ls       #合理, 没有r权限
ls: cannot open directory .: Permission denied
lxw testDir$ ll -d abc   #虽然我在testDir/没有r权限,无法看其有哪些文件,但若我事先已知道它有哪些文件,我就可以通过ls对这些文件进行查看。
drwxrwxr-x lxw lxw Dec : abc/
lxw testDir$ ll txt    #同上
-rw-rw-r-- lxw lxw Dec : txt
lxw testDir$ touch a     #合理, 没有w权限
touch: cannot touch ‘a’: Permission denied
lxw testDir$ cd abc
lxw abc$ ls
childFile
lxw abc$ ll -ld .
drwxrwxr-x lxw lxw Dec : ./
lxw abc$ touch childFile2  #虽然我在父目录中没有rw权限,但只要我能进入该目录(x权限),我就可以按照我在当前目录中的权限进行操作。
lxw abc$ ls -l
total
-rw-rw-r-- lxw lxw Dec : childFile
-rw-rw-r-- lxw lxw Dec : childFile2

  所以,通过上面的实验,我认为,只要父目录具有x权限,父目录的权限和子目录的权限没有直接的关系,不会相互影响。

  最后,通过下面的例子进一步说明:

lxw ~$ chmod  testDir/
lxw ~$ ls -ld testDir/
drw-------
lxw lxw Dec : testDir/
lxw ~$ cd testDir/    #合理,没有x权限
bash: cd: testDir/: Permission denied
lxw ~$ ls -l testDir/   #有r权限
ls: cannot access testDir/txt: Permission denied
ls: cannot access testDir/abc: Permission denied
total
d????????? ? ? ? ? ? abc
-????????? ? ? ? ? ? txt
lxw ~$ cd testDir/abc
bash: cd: testDir/
abc: Permission denied

  最后一条语句, 我对abc目录具有rwx权限,对testDir具有rw权限,但我无法进入testDir/abc(父目录的权限影响到了子目录的权限),原因正是我对testDir没有x权限。

  如果您有不同的观点,欢迎您与我交流。

父目录的权限对子目录有没有影响?[Linux]的更多相关文章

  1. 【MFC】如何在MFC创建的程序中更改主窗口的属性 与 父窗口 WS_CLIPCHILDREN 样式 对子窗口刷新的影响 与 窗体区域绘制问题WS_CLIPCHILDREN与WS_CLIPSIBLINGS

    如何在MFC创建的程序中更改主窗口的属性 摘自:http://blog.sina.com.cn/s/blog_4bebc4830100aq1m.html 在MFC创建的单文档界面中: (基于对话框的, ...

  2. linux 修改目录文件权限,目录文件所属用户,用户组

    1:查看命令:ll drwxr-xr-x  4 gamer ftp      4096 Mar  7 16:56 gstore drwxrwxrwx 10 root  ftp      4096 De ...

  3. [Linux]目录x权限对文件操作的影响

    问题 我们常使用linux以下命令 cd 进入目录 ls 列出目录中的文件 或者直接打开目录中的文件 以上操作对于目录权限位的设置来说,是有一定迷惑性的,如表格所示   cd进入该目录 cd进入该目录 ...

  4. CentOS 6.5系统上安装SVN服务器端的方法及目录访问权限配置(转总结)

    SVN其实就是Subversion,分为服务器端和客户端.之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法.本文主要介绍CentOS 6.5系统上安装SVN服 ...

  5. 写文件前, 检查目录写权限(PHP)

    写文件前, 检查目录写权限 写或保存文件前, 确保目录是可写的, 假如不可写, 输出错误信息. 这会节约你很多调试时间. linux系统中, 需要处理权限, 目录权限不当会导致很多很多的问题, 文件也 ...

  6. chmod chown llinux文件及目录的权限介绍

    linux 文件或目录的读.写.执行权限说明: chmod :设置文件或目录权限. u:所有者 g:所在组 o:其他组 a:所有人(u.g.o的总和) chmod  -R  文件1/文件2…..    ...

  7. Linux 权限和目录更改、移除、更换目录、列出目录内容、使用通配符、移动、重命名

    12 chgrp :改变档案.目录所属群组          chgrp -R dirname/filename   chown :改变档案/目录拥有者              chown -R 账 ...

  8. 15、linux文件、目录的权限及如何改变权限(root用户不受任何权限的限制)

    15.1.linux普通文件的读.写.执行权限说明: r:读,表示具有读取\阅读文件内容的权限: w:可写,表示具有新增,修改文件内容的权限: 如果没有r配合,那么vi编辑文件会提示无法编辑(但可以强 ...

  9. Linux基础知识之文件和目录的权限机制

    Linux中的用户 Linux中的用户有三类,分别是: 所有者(u) 同组用户(g) 其他人(o) 如下图所示,假设存在两个组:groupA和groupB,rachel和ross属于组groupA,m ...

随机推荐

  1. 10秒钟安装 Vim编辑器,5分钟浏览常用命令 2015.10.25

    首先我想说,vim与vi的命令几乎相同,,所以学习编辑命令时很轻松,排除扩展相关,以及自动补全等配置的使用在外30秒钟安装 Vim编辑器,5分钟浏览常用命令环境:虚拟机Ubuntu:安装vim并浏览命 ...

  2. 【BZOJ】2697: 特技飞行

    题意 \(k(1 \le k \le 300)\)种物品,价值分别为\(c_i(0 \le c_i \le 1000)\).有\(n(1 \le n \le 1000)\)分钟,每分钟可以选择一个物品 ...

  3. POJ 1673 EXOCENTER OF A TRIANGLE(垂心)

    题目链接 折腾了半天,没想出怎么证明,以前初中老师教过,不知道怎么办,就量量...受不了,怒抄模版1Y... #include <cstdio> #include <iostream ...

  4. 华清远见金牌讲师名家大讲堂Android开发篇成功举办

    2014年3月5日.12日华清远见金牌讲师名家大讲堂(以下简称名家大讲堂)在线讲座全新升级开讲,至此拉开了新一年名家大讲堂的序幕! 华清远见名家大讲堂作为业内颇具影响力的公益免 费线上课程,自2009 ...

  5. 纪念逝去的岁月——C++实现一个栈

    1.代码 2.运行结果 1.代码 stack.cpp #include <stdio.h> #include <string.h> class ClsStack { priva ...

  6. C++的STL中vector内存分配方法的简单探索

    STL中vector什么时候会自动分配内存,又是怎么分配的呢? 环境:Linux  CentOS 5.2 1.代码 #include <vector> #include <stdio ...

  7. CSS去除firefox点击链接时的虚线边框

    a { outline: none; } 或者缩小范围: a:focus { outline: none; }

  8. Latest node.js & npm installation on Ubuntu 12.04

    转自:https://rtcamp.com/tutorials/nodejs/node-js-npm-install-ubuntu/ Compiling is way to go for many b ...

  9. [zt]摄像机标定(Camera calibration)笔记

    http://www.cnblogs.com/mfryf/archive/2012/03/31/2426324.html 一 作用建立3D到2D的映射关系,一旦标定后,对于一个摄像机内部参数K(光心焦 ...

  10. jQuery获取Ajax函数的返回值

    参考自: http://blog.csdn.net/crx05/article/details/7362252 function test() { var myText = ""; ...