本文主要为个人学习小结:
首先,我在/tmp/you/下建立了8个目录,分别赋予普通用户8个不同的权限,同时在每个目录下又都创建了8个不同权限的文件如下(只要cp -a就行不麻烦):
然后切换至普通用户ayf。
a.目录管理:
1.先从ls开始,
可见没有读权限的目录都无法ls,
从上图可见,虽然拥有读权限,当没有执行权限时ls会有提示信息,
用ll命令时,区别就更明显了,当然只有执行权限是ll是无效的。
2.cd命令
对于cd命令,只有拥有执行权限是才能执行,不发图了。
3.mkdir命令
首先一定要有写权限,you目录事先设置了rwx权限,如果父目录没有设置写权限,就无法创建目录。不然如果你要创建,那么只有子目录拥有执行和写权限才可以,也就是说要先进入子目录然后可以创建。
其次即使父目录有写权限,如果子目录没有执行和写权限就不能往子目录创建。如下图。
4.cp命令
首先我在you目录下建立了一个cp目录,然后用cp -ar [0-9] cp把所有目录都复制到cp中,然后进入cp目录,虽然会有很多信息提示,然而你会cp下所有目录都有,即使该目录没有读权限。
然后分别用ll命令查看每个目录,情况如下:
综上所知,总结如下,对于一个子目录,如果父目录,没有执行权限,那么无论如何也不能复制。如果父目录拥有执行权限(即使只拥有执行权限也是一样的),如果非空子目录拥有读和执行权限,并且目录下拥有读权限的文件都会被复制,如果子目录没有读和执行权限,会创建一个以该用户为所有者的空目录。当然你复制过去的目标目录一定要有写和执行权限。
5.mv命令
只要父目录拥有写权限,那么无论子目录拥有什么权限都可以被改名。
然而只有子目录拥有写权限时才可以剪切移动,不管子目录下有什么。
如果父目录没有写权限,无论子目录是什么权限,都无法使用mv。
6.rm命令
是否能删除看上级目录是否有写和执行权限,没有一切免谈。有,啥都能删。
b.文件管理:
cat类命令
这个很简单,没有读权限,免谈。
2.vi类命令
当文件拥有写权限时,可以用重定向修改文件内容,但是如果要用vim编辑器的话,必须要有读和写权限。
3.cp命令
前提是文件要有读权限,不然免谈。
4.mv命令
看上级目录,同目录方面。
5.rm命令
同目录。