Linux——权限详解(目录详解)

来源:互联网 发布:v360监控软件下载 编辑:程序博客网 时间:2024/04/28 11:47

运行环境:VMware-CentOS7
本文仅介绍文件/目录的读、写、可执行权限,对于文件/目录的删除、移动权限可参考 http://blog.csdn.net/Enchanting_/article/details/73732763 n(≧▽≦)n

在终端中输入ls -l或ll即可查看当前目录下所有文件的详细信息:

这里写图片描述)

在第一个字段中,我们可以看到’-‘、’d’、’r’、’w’、’x’几种字符,小编用下图来解释第一个字段:

权限详解图

常见字符含义如下:
1. ‘-‘——代表普通文件
2. ‘d’——代表目录文件
3. ‘r’——代表可读
4. ‘w’——代表可写
5. ‘x’——代表可执行
顾名思义,对于一个普通文件来说,读、写、可执行权限存在即可读、可写、可执行。
那么权限存在,即能被修改,chmod即修改权限的命令,常见用法如下:

chmod o+r test.c
chmod g+r test.c
chmod u+x,g+rw,o-rw test.c
chmod 705 test.c //八进制
——u即user、g即group、o即other。

由此,文件的读、写、可执行权限即理解充分,下面调研一下目录的权限问题。
打开一个目录需要什么权限?
对目录进行ls需要什么权限?
在目录中进行文件操作需要什么权限?

(一)打开一个目录需要什么权限

首先,将testDir目录权限设置为000

更改权限

此时用cd命令进入目录,显然会失败:
尝试进入目录

那么在拥有哪个权限时会成功呢?由于当前用户jing就是该目录的拥有者,故9位权限位中第1-3位分别表示用户jing对该文件的读、写、可执行权限。
分别执行以下三条命令,测试哪条命令执行后能够cd进入目录:
1. chmod 400 testDir
2. chmod 200 testDir
3. chmod 100 testDir
发现当第三条命令执行后,能够进入:
这里写图片描述

而1代表的是可执行权限x,即证明可执行权限决定了用户是否能够进入一个目录。

(二)读取目录内容需要什么权限(很显然啦,是读权限,不过还是要证明一下)

经过上一步,我们成功的进入了目录testDir,且此时用户jing对该目录只具有可执行权限,显然会读取失败,即ls报错:

这里写图片描述
那么返回上级目录,给予读权限,再次测试:
这里写图片描述

如上,ls命令执行成功(由于此时目录为空,故而未打印任何信息)。

(三)在目录中创建文件需要什么权限

在上述步骤中,将当前用户对testDir目录的权限设置为了r+x,此时我们进行创建文件:

这里写图片描述
显然,权限不够。
增加当前用户对目录的w权限,再次尝试:
这里写图片描述
显然,创建成功。

总结:

1 对一个文件或目录的访问权限(读、写、可执行)取决于当前用户与该文件或目录的拥有者的关系。
○ 若为拥有者,访问权限为前三位(不包括第一位文件类型);
○ 若为所属组,访问权限为中间三位;
○ 若都不是,则为other,访问权限为最后三位。
2 三种访问权限对于目录来说,分别为
○ 读——可在目录中进行ls操作,访问目录内容
○ 写——可在目录中创建文件,即对目录内容进行修改(此处目录内容与目录中文件内容不是一个概念)
○ 可执行——可进入该目录

原创粉丝点击