Linux目录和文件权限的探究(基于rhel7)
本帖最后由 randy198 于 2022-4-25 09:26 编辑作为一个正在自学Linux的小白,我觉得对Linux一些基本概念要通过不断的练习来理解和掌握。在这里我想把我对目录和文件权限的对比理解和一些经验总结写出来。首先观察一下rhel7根目录下的各子目录权限# ll /
total 32
lrwxrwxrwx. 1 root root 7 Mar 30 00:21 bin -> usr/bin
dr-xr-xr-x. 3 root root 4096 Mar 30 00:18 boot
……
drwxr-xr-x. 2 root root 6 Mar 29 08:49 sysbackup
drwxrwxrwt.16 root root 4096 Apr 22 09:40 tmp
……
所有者、所属组、others同时具有最全权限的,又是普通目录的只有/tmp。由于这个目录的权限最全,所以不会因为父目录的权限问题影响试验结果。CTRL+alt+F2打开一个新的终端。注意,如果你的rhel/centos有图形界面,那么默认终端是图形界面,其余的五个终端都是非图形界面的。终端的切换方法是CTRL+alt+-。这样做的好处是不用频繁地在同一个终端里su来su去。
实例1:用新开的终端登录一个普通用户,接着输入 mkdir /tmp/test,在/tmp目录下新建一个名为test/的子目录。新建一个bash脚本文件:vim /tmp/test/print.sh
#!bin/bash
echo ‘Hello fella’
保存退出
chmod 704 /tmp/test
chmod 777 /tmp/test/print.sh
用ll命令查看目录和文件的权限
再打开一个新的终端,登录另一个普通账户zhangsan,那么zhangsan cd /tmp/test目录会有什么结果呢?
系统提示权限被拒绝,我们ll一下
还是能看到有一个文件的,但无法看到详细信息。那么print.sh的权限是777,能被读取或执行吗?
结果也是不行的。
小结1:如果目录没有x权限,其他普通用户无法将该目录变为工作目录(我不想把这句话简单地表述为“进入该目录”。因为我觉得这样的表述让人产生困惑:既然无法进入这个目录那怎么还能看到目录下面的文件?)。若目录只有r权限,普通用户可以看到该目录下的文件,却无法查看文件属性。 心得1:目录的权限和目录下文件的权限是相互独立的,但目录终归是访问文件的“大门”,如果大门被上了锁,外来者即便能透过门缝看到房间中的事物,但终究无法打开大门进入房间拿取里边的东西。心得2:在实际生产环境中,如果执行某个脚本提示找不到文件或运行权限不足的时候,一定要注意文件本身的权限和所属目录乃至父目录的权限设置。
对应的,如果将目录权限设置成只有x权限,其他用户可以将该目录变为工作目录,但无法看到目录下面的文件;若目录只有w权限,其他用户可以在该目录下新建并写入文件,但不能删除目录中的文件(需要x权限配合)。小结2:目录的x权限似乎是指让具有该权限的用户获得能在该目录下执行命令的权限。(最基本的就是把该目录作为工作目录:cd dir)
实例2:/tmp下新建目录tryme,其下再新建文件lala,设置tryme目录权限为777,设置lala文件权限为700。执行rm tryme/lala 可以成功删除该文件。心得3:需要再次强调的是目录权限和目录下文件的权限是相互分离的,删除目录下的某个文件是目录层面的操作,这时操作系统只认目录层面的权限,不会考虑文件本身的权限。进一步探究发现,只要其他用户对目录有x权限,或者同时具备rw权限,他们就可以删除目录下的文件。此处有误,能删除目录下文件的只有wx权限!
心得4:关于嵌套目录中子目录删除权限的探究
父目录权限 777 777
子目录权限 700 700
子目录中有无文件 无 有
子目录是否可以被删除 可被删除,看父目录权限 无法删除
这些都是很基本的概念,但两个小试验帮助我很清晰的划分了目录权限和文件权限和他们分别的作用范围,让我的基本概念变得很扎实,我觉得写出来会对需要的人也有一定的帮助。如果您是大牛请一笑而过,如果帮到了您请您给我评个免费的分,谢谢大家! Linux车机系统有没办法进入{:1_907:} Bingo2018 发表于 2022-4-23 14:17
Linux车机系统有没办法进入
那就是嵌入式的了,我的水平还没到那个层次{:1_896:}
页:
[1]