首页 > 代码库 > 父目录的权限对子目录有没有影响?[Linux]
父目录的权限对子目录有没有影响?[Linux]
问题源头:
登录到服务器(实验室分的一个服务器账号)上,想在当前目录下创建一个文件,但提示“文件系统只读”,无法创建文件。通过ls -l
查看当前用户在当前目录的权限,发现具有rwx权限。所以在想会不会是因为我在父目录中没有w权限导致我无法在当前目录创建文件。
但发现在父目录中我也是rwx权限...(最后,我感觉这个问题可能是服务器管理员对硬盘加了写保护)
于是我做了以下的实验,想验证“父目录的权限对子目录的权限有没有影响?”比如,我在父目录(testDir)没有写权限,我在当前目录
(testDir/abc/)能否执行写操作?
lxw ~$ ls -ld testDir/drwxrwxr-x 3 lxw lxw 4096 Dec 26 09:10 testDir/lxw ~$ chmod 500 testDir/lxw ~$ ls -ld testDir/dr-x------ 3 lxw lxw 4096 Dec 26 09:10 testDir/lxw ~$ cd testDir/lxw testDir$ touch parentFile #合理,对testDir无w权限touch: cannot touch ‘parentFile’: Permission deniedlxw testDir$ ls -ltotal 8drwxrwxr-x 2 lxw lxw 4096 Dec 26 10:07 abc-rw-rw-r-- 1 lxw lxw 4 Dec 26 09:10 txtlxw testDir$ cd abc/lxw abc$ lslxw abc$ touch childFile #父目录虽然没有w权限,但只要我能够进入当前目录(具有x权限),我就能够按照我在当前目录的权限,进行操作。lxw abc$ lschildFile
所以,经过上面的验证,父目录虽然没有w权限,但只要我能够进入当前目录(具有x权限),我就能够按照我在当前目录的权限,进行
操作。
现在我让testDir/目录只保留x权限:
lxw ~$ chmod 100 testDir/lxw ~$ ll -d testDir/d--x------ 3 lxw lxw 4096 Dec 26 09:10 testDir//lxw ~$ cd testDir/lxw testDir$ ls #合理, 没有r权限ls: cannot open directory .: Permission deniedlxw testDir$ ll -d abc #虽然我在testDir/没有r权限,无法看其有哪些文件,但若我事先已知道它有哪些文件,我就可以通过ls对这些文件进行查看。drwxrwxr-x 2 lxw lxw 4096 Dec 26 10:25 abc/lxw testDir$ ll txt #同上-rw-rw-r-- 1 lxw lxw 4 Dec 26 09:10 txtlxw testDir$ touch a #合理, 没有w权限touch: cannot touch ‘a’: Permission deniedlxw testDir$ cd abclxw abc$ lschildFilelxw abc$ ll -ld .drwxrwxr-x 2 lxw lxw 4096 Dec 26 10:13 ./lxw abc$ touch childFile2 #虽然我在父目录中没有rw权限,但只要我能进入该目录(x权限),我就可以按照我在当前目录中的权限进行操作。lxw abc$ ls -ltotal 0-rw-rw-r-- 1 lxw lxw 0 Dec 26 10:13 childFile-rw-rw-r-- 1 lxw lxw 0 Dec 26 10:25 childFile2
所以,通过上面的实验,我认为,只要父目录具有x权限,父目录的权限和子目录的权限没有直接的关系,不会相互影响。
最后,通过下面的例子进一步说明:
lxw ~$ chmod 600 testDir/lxw ~$ ls -ld testDir/drw------- 3 lxw lxw 4096 Dec 26 09:10 testDir/lxw ~$ cd testDir/ #合理,没有x权限bash: cd: testDir/: Permission deniedlxw ~$ ls -l testDir/ #有r权限ls: cannot access testDir/txt: Permission deniedls: cannot access testDir/abc: Permission deniedtotal 0d????????? ? ? ? ? ? abc-????????? ? ? ? ? ? txtlxw ~$ cd testDir/abcbash: cd: testDir/abc: Permission denied
最后一条语句, 我对abc目录具有rwx权限,对testDir具有rw权限,但我无法进入testDir/abc(父目录的权限影响到了
子目录的权限),原因正是我对testDir没有x权限。
如果您有任何不同的观点,欢迎您与我交流。
父目录的权限对子目录有没有影响?[Linux]
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。