您所在的位置:读书频道 > 操作系统 > Linux > 6.2.3 目录属性的意义

6.2.3 目录属性的意义

2007-09-27 09:58 鸟哥 人民邮电出版社 字号:T | T
一键收藏,随时查看,分享好友!

《鸟哥的Linux私房菜》一书全面而详细地介绍了Linux操作系统,第六章介绍的是Linux的文件属性与目录配置,本节是目录属性的意义。

AD:

6.2.3  目录属性的意义

前面介绍的属性几乎都是针对一般文件的特性,如果是针对目录,r, w, x对目录是什么意义呢?简单而言:

• r(read contents in directory):表示具有读取目录结构清单的权限,所以当你具有读取 (r) 目录的权限时,就可以利用ls命令将该目录的内容列出来。

• w(modify contents of directory):这个可写入的权限对目录来说是很有用的。因为它表示将具有更改该目录结构清单的权限,也就是下面这些权限:

 建立新的文件与目录。
 删除已经存在的文件与目录(不论该文件是属于谁的)。
 将已存在的文件或目录进行重命名。
 移动该目录内的文件、目录位置。
所以,如果是一般身份用户,例如笔者的账号dmtsai,那么在 /home/dmtsai这个家目录内,无论是谁(包括root)建立的文件,无论该文件属于谁,无论该文件的属性是什么,dmtsai这个用户都“有权力将该文件删除”。

• x(access directory):这个我们已经提过了,这个x与能否进入该目录有关。
我们来简单做个测试,下面可能会有很多你没有见过的命令,不要担心,先照着做,等到将来提到该命令时,自然就会了解了。

[root@linux ~]# cd /tmp
[root@linux tmp]# mkdir testing
[root@linux tmp]# chmod 744 testing
[root@linux tmp]# touch testing/testing
[root@linux tmp]# chmod 600 testing/testing
# 这个 mkdir是建立目录用的命令。是make directory的缩写。
# 我们用root的身份在 /tmp下建立一个名为testing的目录,
# 并且将该目录的权限变为744,该目录的拥有者为root。
# 另外,touch可以用来建立一个没有内容的文件,因此,touch testing/testing
# 可以建立一个空的 /tmp/testing/testing文件。
[root@linux tmp]# ls -al
drwxr--r--   2 root root 4096 Jul 14 01:05 testing
# 仔细看一下,目录的权限是744,且所属用户组与用户均是root。
# 接下来,我们将root的身份切换成为一般身份用户。
# 笔者系统里有个dmtsai的一般身份用户账号,所以切换身份成为dmtsai
[root@linux tmp]# su dmtsai
# su的命令是用来“变换身份”的,我们将来会详细介绍。
# 注意看,下面这一行中,发现用户变为dmtsai了,而且提示符变成 $ 了。
# 也就是说,现在使用系统的人变成dmtsai了。那么dmtsai这个人对于
# /tmp/testing是属于others的权限,他可以对 /tmp/testing做什么?
[dmtsai@linux tmp]$ ls -l testing   <== 此时身份为dmtsai
total 0
?---------  ? ? ? ?           ? testing
# 可以查看里面的信息。因为dmtsai具有r的权限,不过,毕竟权限不够,
# 很多数据竟然是问号(?)
[dmtsai@linux tmp]$ cd testing  <== 此时身份为dmtsai
bash: cd: testing/: Permission denied
# 发现了吗?即使我们具有r的权限,但是没有x,所以
# dmtsai无法进入 /tmp/testing。
[dmtsai@linux tmp]$ exit
[root@linux tmp]# chown dmtsai testing
# 使用exit就可以离开su的功能了。我们将这个testing目录的拥有者设置为
# dmtsai,此时dmtsai就成为owner了,这个用户又能干什么呢?
[root@linux tmp]# su dmtsai
[dmtsai@linux tmp]$ cd testing  <== 此时身份为dmtsai
[dmtsai@linux testing]$ ls -l   <== 此时身份为dmtsai
-rw-------  1 root root 0 Jul 14 01:13 testing
# 再切换身份成为dmtsai,此时就能够进入testing了。查看一下内容。
# 发现了testing文件存在。权限是只有root才能够存取~
# 我们测试一下能否删除:
[dmtsai@linux testing]$ rm testing  <== 此时身份为dmtsai
rm: remove write-protected regular empty file `testing'? y
# 竟然可以删除
通过上面简单的步骤,就可以清楚地知道,x在目录中与“能否进入该目录”有关,w则相当重要,因为它可以让用户删除、更新、新建文件或目录,是个很重要的参数。
【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节

分享到:

关于目录  属性  Linux  操作系统  shell  鸟哥  鸟哥的Linux私房菜的更多文章
你需要了解的Linux实用命令大全

Linux系统的魅力之一就是你可以直接从终端使用命令行来管理整个[详细]

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

Oracle 10g应用指导与案例精讲
本书作者结合自己多年实践经验,从Oracle开发应用中遇到的问题着手,全面系统地介绍Oracle的安装与卸载、数据字典、安全管理以及

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院