Linux文件系统权限

Linux文件系统权限 一、属主、属组

Linux文件系统中,用户如果要对文件进行操作,首先要对文件的权限进行检查,先判断用户是否是此文件的属主如果是则执行属主权限,如果不是那就查看该用户是否是该文件属组内的用户,如果是则执行属组权限,如果不是执行other权限。

二、文件和目录的读写执行 1. 文件的读、写、执行 文件能否读写取决于用户对文件是否有读写执行权限。

用户有对文件读权限则可以访问此文件,查看文件内的内容,但无法对内容进行修改
示例:

[root@CentOS7 data]# echo hello world > a [root@centos7 data]# cat a hello world [root@centos7 data]# chmod 004 a [root@centos7 data]# ll total 4 -------r-- 1 root root 12 Mar 14 23:20 a [root@centos7 data]# su masuri [masuri@centos7 data]$ ll total 4 -------r-- 1 root root 12 Mar 14 23:20 a [masuri@centos7 data]$ cat a hello world [masuri@centos7 data]$ echo hello word >a bash: a: Permission denied

用户有对文件写权限则可以对此文件的内容进行修改,如果用户只有写权限,则无法查看内部容,但可以修改其内部的内容。
示例:

[root@centos7 data]# chmod 002 a [root@centos7 data]# cat a hello world [root@centos7 data]# ls a a [root@centos7 data]# ll a --------w- 1 root root 12 Mar 14 23:20 a [root@centos7 data]# su masuri [masuri@centos7 data]$ cat a cat: a: Permission denied [masuri@centos7 data]$ echo abc >> a [masuri@centos7 data]$ exit exit [root@centos7 data]# cat a hello world abc

注意:用户有对文件的执行权限则可以将文件进行执行,此类操作非常危险。一般文件不建议有执行权限。

2.目录的读写执行 目录的读权限:

目录有读权限则表示用户可以查看目录,可以复制目录,但无法对目录内的文件进行操作,若要对目录内的文件进行操作则必须要有执行权限
示例1:只有读权限没有执行权限时

[root@centos7 data]# mkdir -m 004 test [root@centos7 data]# echo hello world > test/a [root@centos7 data]# su masuri [masuri@centos7 data]$ ls test ls: cannot access test/a: Permission denied 没有执行权限无法查看文件 a [masuri@centos7 data]$ cp -R test test2 cp: cannot stat ‘test/a’: Permission denied 没有执行权限无法复制目录下的内容只能复制目录本身 [masuri@centos7 data]$ ll total 0 d------r-- 2 root root 15 Mar 14 23:37 test d------r-- 2 masuri masuri 6 Mar 14 23:49 test2 [masuri@centos7 data]$ rm test/a rm: cannot remove ‘test/a’: Permission denied 没有写和执行无法删除文件

示例2:有读和执行权限

[root@centos7 data]# chmod 005 test [root@centos7 data]# ll test -d d------r-x 2 root root 15 Mar 14 23:37 test [root@centos7 data]# su masuri [masuri@centos7 data]$ cp -R test test3 可复制 [masuri@centos7 data]$ ls test test2 test3 [masuri@centos7 data]$ ls test a [masuri@centos7 data]$ cat test/a hello world [masuri@centos7 data]$ rm test/a rm: remove write-protected regular file ‘test/a’? y rm: cannot remove ‘test/a’: Permission denied 无法删除 目录的写权限:

当目录只有写权限时,无法对目录下的文件执行任何操作。若要能实现对目录下的文件进行操作,必须要有执行权限
示例:
1.只有写权限

[root@centos7 data]# mkdir -m 002 test [root@centos7 data]# echo helloworld > test/a [root@centos7 data]# ll total 0 d-------w- 2 root root 15 Mar 15 00:10 test [root@centos7 data]# su masuri [masuri@centos7 data]$ echo hello > test/a bash: test/a: Permission denied [masuri@centos7 data]$ ls test ls: cannot open directory test: Permission denied [masuri@centos7 data]$ ls test/a ls: cannot access test/a: Permission denied

2.有写和执行时

[root@centos7 data]# chmod 003 test [root@centos7 data]# ll -d test d-------wx 2 root root 15 Mar 15 00:10 test [root@centos7 data]# ls test a [root@centos7 data]# su masuri [masuri@centos7 data]$ ls test ls: cannot open directory test: Permission denied 没有读权限无法查看 [masuri@centos7 data]$ echo hello > test/b 好像可以写入? [masuri@centos7 data]$ rm test/a 要想也可以删除? rm: remove write-protected regular file ‘test/a’? y [masuri@centos7 data]$ exit 转回root看结果。 exit [root@centos7 data]# ls test [root@centos7 data]# ls test\ 原来的按文件被删除 b [root@centos7 data]# cat b cat: b: No such file or directory [root@centos7 data]# cat test/b b文件内为刚才写入的数据 hello 总结:目录的执行权限非常重要,没有执行权,即使有目录的读写权限也无法对目录下的文件进行操作。

3.chmod中大写X的意义
当对目录递归施加大X时,其下的所有目录自动添加执行权限,但文件不会添加
但若文件原本有执行权限时,则会为其添加执行权限
示例:

[root@centos7 data]# mkdir testdir [root@centos7 data]# cd testdir [root@centos7 testdir]# touch a b 创建a b两个文件 [root@centos7 testdir]# chmod 100 a 修改权限a为可执行 [root@centos7 testdir]# chmod 000 b 修改权限b为什么都没有 [root@centos7 testdir]# mkdir -m 000 dir 创建一个dir目录并设置权限为000 [root@centos7 testdir]# ll total 0 ---x------ 1 root root 0 Mar 15 00:48 a ---------- 1 root root 0 Mar 15 00:48 b d--------- 2 root root 6 Mar 15 00:48 dir [root@centos7 testdir]# cd .. [root@centos7 data]# chmod -R a+X testdir 对testdir目录递归设置大X权限 [root@centos7 data]# cd testdir/ [root@centos7 testdir]# ll total 0 ---x--x--x 1 root root 0 Mar 15 00:48 a 对比上面当文件有执行权限时全部都加了执行权限 ---------- 1 root root 0 Mar 15 00:48 b 当文件没有执行权限时则不添加 d--x--x--x 2 root root 6 Mar 15 00:48 dir 三、特殊权限位 SUID:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12117.html