当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux入门

Linux基础技能:目录属性的意义测试

Linux基础技能:目录属性的意义测试--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
linux目录属性的意义

我们来简单做个测试,下面可能会有很多你没有见过的命令,不要担心,先照着做,等到将来提到该命令时,自然就会了解了。

[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则相当重要,因为它可以让用户删除、更新、新建文件或目录,是个很重要的参数。
吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有