首页 男生 其他 Linux/Unix技术丛书·跟老男孩学Linux运维:核心基础篇(上)(第2版)

12.3.3 通过实践测试目录属性对应的权限

  12.3.3 通过实践测试目录属性对应的权限

  1. 针对当下目录/oldboy属性测试权限

  查看当下目录/oldboy属性,命令如下:

  [root@oldboy ~]# ls -ld /oldboy/

  drwxr-xr-x. 2 oldboy root 4096 Apr 30 11:05 /oldboy/

  通过上述命令可知,/oldboy目录的用户为oldboy,用户组为root,因此,oldboy用户对/oldboy目录下的内容的权限看前三位(rwx),可以得知,其具备浏览oldboy目录下内容的权限、删除oldboy目录下文件的权限和切换到oldboy目录下的权限。而oldgirl及test用户对于/oldboy目录权限的属性来说,都属于其他用户角色,因此,对应权限都看最后三位(r-x),即都有浏览oldboy目录下内容的权限、切换到oldboy目录下的权限,但是无删除oldboy目录下文件的权限。测试实践过程如下。

  使用oldboy用户进行测试:

  [oldboy@oldboy /]$ whoami

  oldboy

  [oldboy@oldboy ~]$ ls -ld /oldboy

  drwxr-xr-x. 2 oldboy root 4096 Apr 30 11:05 /oldboy

  [oldboy@oldboy ~]$ touch /oldboy/{1..3}.txt

  #<==在oldboy目录下创建文件是可以的,这是oldboy目录用户位中w权限的作用。

  [oldboy@oldboy ~]$ ls /oldboy/ #<==列表目录下的内容也可以,这是oldboy目录用户位中r权限的作用。

  1.txt 2.txt 3.txt

  [oldboy@oldboy ~]$ ls -l /oldboy/

  #<==列表目录下的内容及属性信息也是可以的,这是oldboy目录用户位中r权限的作用。

  total 0

  -rw-r--r--. 1 oldboy incahome 0 Apr 30 11:17 1.txt

  -rw-r--r--. 1 oldboy incahome 0 Apr 30 11:17 2.txt

  -rw-r--r--. 1 oldboy incahome 0 Apr 30 11:17 3.txt

  [oldboy@oldboy ~]$ cd /oldboy/ #<==切换到oldboy目录下也可以,这是oldboy目录用户位中x权限的作用。

  [oldboy@oldboy oldboy]$ pwd

  /oldboy

  [oldboy@oldboy oldboy]$ rm -f 1.txt #<==可以删除目录下的文件,这是oldboy目录用户位中w权限的作用。

  [oldboy@oldboy oldboy]$ ls

  2.txt 3.txt

  在使用oldgirl、test用户测试时,会发现二者的权限相同,因此这里仅以oldgirl用户为例进行讲解,测试过程如下:

  [oldgirl@oldboy oldboy]$ whoami

  oldgirl

  [oldgirl@oldboy ~]$ ls -ld /oldboy

  drwxr-xr-x. 2 oldboy root 4096 Apr 30 11:17 /oldboy #<==oldgirl对应权限看最后三位(r-x)。

  [oldgirl@oldboy ~]$ ls /oldboy #<==可以列表文件名,因为具有r权限。

  2.txt 3.txt

  [oldgirl@oldboy ~]$ ls -l /oldboy #<==可以列表属性信息。

  total 0

  -rw-r--r--. 1 oldboy incahome 0 Apr 30 11:17 2.txt

  -rw-r--r--. 1 oldboy incahome 0 Apr 30 11:17 3.txt

  [oldgirl@oldboy ~]$ touch /oldboy/{a.c}.txt #<==无法创建文件,因为没有w权限。

  touch: cannot touch `/oldboy/{a.c}.txt': Permission denied

  [oldgirl@oldboy ~]$ cd /oldboy #<==可以切换到oldboy目录下,因为有x权限。

  [oldgirl@oldboy oldboy]$ pwd

  /oldboy

  [oldgirl@oldboy oldboy]$ ls

  2.txt 3.txt

  [oldgirl@oldboy oldboy]$ rm -f 2.txt #<==无法删除文件,因为没有w权限。

  rm: cannot remove `2.txt': Permission denied

  2. 测试oldboy目录权限中x和w与r的配合,以及r和w与x的配合

  将文件的权限和用户及组调整为如下属性:

  [root@oldboy ~]# chmod 736 /oldboy/ #<==读者原样输入即可,12.4.1节会详细讲解,这里无须关心为什么如此输入。

  [root@oldboy ~]# chown oldboy.incahome /oldboy #<==修改用户及组。

  [root@oldboy ~]# ls -ld /oldboy

  drwx-wxrw-. 2 oldboy incahome 4096 Apr 30 11:17 /oldboy

  根据修改后的目录属性信息可知,/oldboy目录的所属的用户及组分别为oldboy用户和incahome组,因此,oldboy用户对/oldboy目录的权限看前三位(rwx),而oldgirl用户属于incahome组,因此,oldgirl用户对/oldboy目录的权限看中三位(-wx),最后test用户对/oldboy目录的权限看最后三位(rw-)。

  实践步骤如下。

  下面是使用oldgirl用户进行测试的情况,注意这里要看中三位(-wx):

  [oldgirl@oldboy ~]$ ls -ld /oldboy/

  drwx-wxrw-. 2 oldboy incahome 4096 Apr 30 11:17 /oldboy/ #<==中三位(-wx)是old- girl对应的权限。

  [oldgirl@oldboy ~]$ ls /oldboy #<==无法列表目录下的内容,因为无r权限。

  ls: cannot open directory /oldboy: Permission denied

  [oldgirl@oldboy ~]$ touch /oldboy/m.txt #<==可以创建文件,因为有w权限。

  [oldgirl@oldboy ~]$ cd /oldboy #<==可以切换到目录。因为有x权限。

  [oldgirl@oldboy oldboy]$ ls #<==无法列表目录下的内容,因为无r权限。

  ls: cannot open directory .: Permission denied

  [oldgirl@oldboy oldboy]$ rm -f m.txt #<==可以删除文件,因为具有w权限。

  以下是使用test用户进行测试的情况,注意这里要看后三位(rw-):

  [test@oldboy ~]$ whoami

  test

  [test@oldboy ~]$ ls -ld /oldboy

  drwx-wxrw-. 2 oldboy incahome 4096 Apr 30 11:38 /oldboy #<==后三位(rw-)是test用户对应的权限。

  [test@oldboy ~]$ ls /oldboy #<==可以列表目录下的内容,因为具有r权限。

  ls: cannot access /oldboy/3.txt: Permission denied #<==但是缺少x权限配合,所以,报错了。

  ls: cannot access /oldboy/2.txt: Permission denied

  2.txt 3.txt #<==依然可以看到目录下的内容。

  [test@oldboy ~]$ ls -l /oldboy #<==可以列表目录下内容的属性信息。

  ls: cannot access /oldboy/3.txt: Permission denied

  ls: cannot access /oldboy/2.txt: Permission denied

  total 0

  -????????? ? ? ? ? ? 2.txt #<==属性信息为多个问号属于不正常现象,因为缺少x权限配合。

  -????????? ? ? ? ? ? 3.txt

  [test@oldboy ~]$ touch /oldboy/n.txt #<==无法创建文件,虽然有w,但是没有x权限配合。

  touch: cannot touch `/oldboy/n.txt': Permission denied

  [test@oldboy ~]$ rm -f /oldboy/3.txt #<==无法删除文件,虽然有w,但是没有x权限配合。

  rm: cannot remove `/oldboy/3.txt': Permission denied

  [test@oldboy ~]$ cd /oldboy #<==无法进入目录,因为没有x权限配合。

  -bash: cd: /oldboy: Permission denied

  测试结论:

  • 对于目录,r权限表示可以浏览目录下的内容(ls以及ls-l),w权限表示可以删除目录下的文件,以及在目录下创建文件,x权限表示切换到目录下。

  • 没有x权限的配合,即使有w权限也无法删除和创建文件。

  • 没有x权限的配合,即使有r权限,在查看目录内容及目录下的内容属性时也会报错或者显示问号,但依然可以看到列表的文件名。

目录
设置
手机
书架
书页
评论