Linux文件系统权限

拥有目录的x权限表示用户可以进入该目录成为工作目录,能不能进入一个目录,只与该目录的x权限有关,如果用户对于某个目录不具有x权限,则无法切换到该目录下,也就无法执行该目录下的任何命令,即使具有该目录的r权限。且如果用户对于某目录不具有x权限,则该用户不能查询该目录下的文件的内容,注意:指的是内容,如果有r 权限是可以查看该目录下的文件名列表或子目录列表的。所以要开放目录给任何人浏览时,应该至少要给与r及x权限。

一、权限对于目录的意义
1、首先要明白的是目录主要的内容是记录文件名列表和子目录列表,而不是实际存放数据的地方。
2、r权限:拥有此权限表示可以读取目录结构列表,也就是说可以查看目录下的文件名和子目录名,注意:仅仅指的是名字。
3、w权限:拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目录名的变动有关,注意:指的是名字。具体如下:
1)在该目录下新建新的文件或子目录。
2)删除该目录下已经存在的文件或子目录(不论该文件或子目录的权限如何),注意:这点很重要,用户能否删除一个文件或目录,看的是该用户是否具有该文件或目录所在的目录的w权限(配合x权限,因为要进入目录)。
3)将该目录下已经存在的文件或子目录进行重命名。
4)转移该目录内的文件或子目录的位置。

4、x权限:拥有目录的x权限表示用户可以进入该目录成为工作目录,能不能进入一个目录,只与该目录的x权限有关,如果用户对于某个目录不具有x权限,则无法切换到该目录下,也就无法执行该目录下的任何命令,即使具有该目录的r权限。且如果用户对于某目录不具有x权限,则该用户不能查询该目录下的文件的内容,注意:指的是内容,如果有r 权限是可以查看该目录下的文件名列表或子目录列表的。所以要开放目录给任何人浏览时,应该至少要给与r及x权限。

二、权限对于文件的意义
1、也应该明白的是文件是实际含有数据的地方,所以r、w、x权限对文件来说是与其内容有关的。
2、r权限:用于此权限表示可以读取此文件的实际内容。

3、w权限:拥有此权限表示可以编辑、添加或者是修改该文件的内容。但是不包含删除该文件,因为由上面权限对于目录的意义得知删除文件或目录的条件是什么。
4、x权限:表示该文件具有可以被系统执行的权限。文件是否能被执行就是由该权限来决定的,跟文件名没有绝对的关系。

要开放目录给任何人浏览时,应该至少也要给予r及x的权限,但w权限不可随便给!

因为:如果A用户对某文件没有任何权限,但是对该文件所在目录拥有w权限的话,那么A用户依然可以删除该文件。

三、测试部分:
用户能否进入一个目录只与x权限有关:

[root@master /]# ll
total 28
-rw-r--r--.   1 root root    0 Mar 16 11:49 1
lrwxrwxrwx.   1 root root    7 Mar 16 11:43 bin -> usr/bin
dr-xr-xr-x.   4 root root 4096 Mar 16 12:05 boot
drwxr-xr-x.  20 root root 3280 Mar 23 14:32 dev
drwxr-xr-x. 138 root root 8192 Mar 23 14:32 etc
drwxr-xr-x.   9 root root  104 Mar 19 10:57 home
lrwxrwxrwx.   1 root root    7 Mar 16 11:43 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Mar 16 11:43 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Nov  5 11:38 media
drwxr-xr-x.   2 root root    6 Nov  5 11:38 mnt
drwxr-xr-x.   4 root root   28 Mar 17 03:27 opt
dr-xr-xr-x. 181 root root    0 Mar 23 14:31 proc
dr-xr-x---.   7 root root 4096 Mar 23 14:35 root
drwxr-xr-x.  38 root root 1140 Mar 23 14:32 run
lrwxrwxrwx.   1 root root    8 Mar 16 11:43 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Nov  5 11:38 srv
dr-xr-xr-x.  13 root root    0 Mar 23 14:31 sys
drwxr-x--x.   3 root root   16 Mar 23 11:41 testperm
drwxrwxrwt.  42 root root 4096 Mar 23 14:38 tmp
drwxr-xr-x.  13 root root  155 Mar 16 11:43 usr
drwxr-xr-x.  21 root root 4096 Mar 23 14:31 var
[hdfs@master /]$ ls testperm
ls: cannot open directory testperm: Permission denied
[hdfs@master /]$ cd testperm
[hdfs@master testperm]$

只有r权限时,不能进入目录,只能使用ls命令得知目录下的文件和文件夹列表,仅限于名字

[root@master /]# ll
total 28
-rw-r--r--.   1 root root    0 Mar 16 11:49 1
lrwxrwxrwx.   1 root root    7 Mar 16 11:43 bin -> usr/bin
dr-xr-xr-x.   4 root root 4096 Mar 16 12:05 boot
drwxr-xr-x.  20 root root 3280 Mar 23 14:32 dev
drwxr-xr-x. 138 root root 8192 Mar 23 14:32 etc
drwxr-xr-x.   9 root root  104 Mar 19 10:57 home
lrwxrwxrwx.   1 root root    7 Mar 16 11:43 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Mar 16 11:43 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Nov  5 11:38 media
drwxr-xr-x.   2 root root    6 Nov  5 11:38 mnt
drwxr-xr-x.   4 root root   28 Mar 17 03:27 opt
dr-xr-xr-x. 182 root root    0 Mar 23 14:31 proc
dr-xr-x---.   7 root root 4096 Mar 23 14:35 root
drwxr-xr-x.  38 root root 1140 Mar 23 14:32 run
lrwxrwxrwx.   1 root root    8 Mar 16 11:43 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Nov  5 11:38 srv
dr-xr-xr-x.  13 root root    0 Mar 23 14:31 sys
drwxr-xr--.   3 root root   16 Mar 23 11:41 testperm
drwxrwxrwt.  42 root root 4096 Mar 23 14:40 tmp
drwxr-xr-x.  13 root root  155 Mar 16 11:43 usr
drwxr-xr-x.  21 root root 4096 Mar 23 14:31 var
[hdfs@master /]$ cd testperm
bash: cd: testperm: Permission denied
[hdfs@master /]$ ls testperm
ls: cannot access testperm/d1: Permission denied
ls: cannot access testperm/a.txt: Permission denied
a.txt  d1

为其他用户组赋予rx权限后,发现删除其中的文件或目录都失败,尽管拥有对文件或目录的w权限:

[hdfs@master testperm]$ ll
total 0
-rw-r--rw-. 1 root root 0 Mar 23 14:55 a.txt
drwxrwxrwx. 2 hdfs hdfs 6 Mar 23 11:41 d1
[hdfs@master testperm]$ rm a.txt
rm: cannot remove ‘a.txt’: Permission denied 
[hdfs@master /]$ rm -r testperm/d1
rm: cannot remove ‘testperm/d1’: Permission denied

当对目录赋予w权限后,即使用户对其中的文件没有w权限,依然可以删除文件:

[hdfs@master testperm2]$ rm 1.txt
rm: remove write-protected regular empty file ‘1.txt’?
[hdfs@master testperm2]$ rm -f 1.txt
[hdfs@master testperm2]$
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值