《关于在centos7上学习Linux的rwx权限的,一点点思考,然后抓破脑袋记笔记的那些事》

这篇博客详细记录了Linux初学者对CentOS7目录权限rwx的实验过程,包括不同权限组合对目录操作的影响。通过实验,作者探讨了read、write、execute权限对目录的意义,例如查看目录内容、添加删除文件、进入目录等,并通过实例解释了权限设置如何影响这些操作。此外,还提到了属主和属组的概念及其在权限管理中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于centos7的目录r w x 三属性的实验记录
这是我实验了比较久的,我总结的一些困惑都会记录在这里,这不是正规的,是作为一个Linux初学者的一个笔记总结

实验的思路:
首先一个进入root,一个是mkml账户

root创建的文档,将会保留自己的属性也就是root:root
mkml作为一个其他的用户对这个文档以及文档内的目录haha进行一个修改
这个修改将会在后面进行说明

实验分为

r w x 全部以及部分有时对(目录)操作的行为
首先,我们这里要明确,r w x三个对目录的整体概述(这里是我对资料的总结)

r 就是(read contents in directory)
拥有这个权限,说明着你可以 查看 这个目录拥有着读取的权限,不信的话,你可以ls一下它但这里要说明一下,这些是在命令行上做的,如果你用图形界面的话,你是进不去的哦,因为你要看到里面的东西首先你得双击进去,但是那是x权限的效果了,我们不讨论图形的情况,不过我以后闲着了,就去做一个来

w 就是(modify contents in directory)
这个就厉害了,这是一个很重要的权限,拥有了它,你就可以在下面加入新的目录或者文件,删除文件,当然,这里要留下些问题,这就是俺们文件夹不可能空着,肯定要往下面放东西这就是一个很复杂的了,那么我可以删掉下面不属于我的文件吗?这个权限可以决定下面存放的东西吗?我们再谈

x 就是(access directory)
这是一个比较简单的,你如果没有这个权限,那么你将进入不了这个目录,说白了,就是cd,也没有对这个文件夹进行操作的可能,比如删除

1. 目录有r w x时:

这是一个很明显的答案,单纯只是目录的话,而且没有其他限制的话那么这个的话,mkml是可以查看且下面的目录,可以进入这个目录在下面创建文件,对这个目录做任何你想做的事情

欸,这时候疑问就要出来了,那么,我在这个目录下面用root创建了一个txt那么我可以删掉这个目录吗?

[root@localhost mkml]# chmod 777 haha
这时候我为了防止因为拥有文件权限而删掉目录
[root@localhost mkml]# chmod 770 haha/hihi.txt 
[mkml@localhost haha]$ ll
总用量 4
-rwxrwx---. 1 root root 8 5月  14 00:28 hihi.txt
把其他人的权限全部关掉,进行删除
[mkml@localhost ~]$ rm -rf haha/
[mkml@localhost ~]$ ll
总用量 0
drwxr-xr-x. 2 mkml mkml 6 5月   4 16:08 kiki
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 公共
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 模板
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 视频
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 图片
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 文档
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 下载
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 音乐
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 桌面

这是一个神奇的问题,我们下面再看看

2. 无r w x时:

这个更加明显一些,你不会拥有任何的权限,你除了可以看到有这个haha的目录之外,你不能对它做任何事

3. 有r 无w x:

上面说过,只有r时,你只能使用ls来查看它里面有什么,除此之外,你不能对它做任何事,但也要记住一件事,这个权限给你的东西少到可怜不信你可以运行试试

[mkml@localhost ~]$ ls -all haha
ls: 无法访问haha/.: 权限不够
ls: 无法访问haha/..: 权限不够
ls: 无法访问haha/hihi.txt: 权限不够
总用量 0
d????????? ? ? ? ?            ? .
d????????? ? ? ? ?            ? ..
-????????? ? ? ? ?            ? hihi.txt

真的只给你看名字的那种,寒碜,很寒碜

4. 有r w 无x:

这也是一个很寒碜的权限组,你不可以cd进去也不可以删掉它

[mkml@localhost ~]$ ll
总用量 0
drwxrwxrw-. 2 root root 22 5月  14 01:06 haha
[mkml@localhost ~]$ cd haha
bash: cd: haha: 权限不够
[mkml@localhost ~]$ rm -rf haha
rm: 无法删除"haha/hihi.txt": 权限不够
[mkml@localhost ~]$ mkdir haha/kiki
mkdir: 无法创建目录"haha/kiki": 权限不够
[mkml@localhost ~]$ vim haha/kaka.txt(创建文件:一样是权限不够)
[mkml@localhost ~]$ rm -rf haha/hihi.txt 
rm: 无法删除"haha/hihi.txt": 权限不够

这时候就有人要说了,你个糟老头子在上面骗俺们,这不是有w了吗?欸,这个就要说明一下了,w确实很有用,但w是在x的基础上的,怎么说呢你要对一个文件的外部内部做事情干什么都好,你首先你得对这个文件有权限吧!你可以理解为,想干活,你得cd进去,然后再rm或者mkdir,没有x就没有cd那么后续就别想了

直白一点,你现在有权利改一个大师的画,你想怎么样都行,但是大师在那幅画周围安排了一堆的保镖,苍蝇都飞不进去,你只有改画的权力,但你没有进去的权力,这样就很直白了吧。

这也变相的说明,x是作为一个把该文件作为工作区域的基础,否则,这一个权限组和上面有r无w x基本上没有什么区别

5. 有w 无r x:

emmmmmmmmmmmmmmmmmm,刚刚讲完的,没有x的话,也没有办法了

[mkml@localhost ~]$ ll
总用量 0
drwxrwx-w-. 2 root root 22 5月  14 01:06 haha
[mkml@localhost ~]$ cd haha
bash: cd: haha: 权限不够
[mkml@localhost ~]$ rm -rf haha
rm: 无法删除"haha/hihi.txt": 权限不够
[mkml@localhost ~]$ mkdir haha/kiki
mkdir: 无法创建目录"haha/kiki": 权限不够
[mkml@localhost ~]$ vim haha/kaka.txt(创建文件:权限不够)
[mkml@localhost ~]$ rm -rf haha/hihi.txt 
rm: 无法删除"haha/hihi.txt": 权限不够

不过这里可以说个,这个权限组甚至没有r,你可以补全一下,甚至补全不了下面的hihi.txt
这也说明r的效用哦

6. 有w x无 r:

有人说了,这个能拿来做什么?我们现在试试

[mkml@localhost ~]$ ll
总用量 0
drwxrwx-wx. 2 root root 22 5月  14 01:06 haha
[mkml@localhost ~]$ ls -all haha/
ls: 无法打开目录haha/: 权限不够
[mkml@localhost ~]$ cd haha/ (但是我们能cd进去)
[mkml@localhost haha]$ vim kiki.txt (可以创建文件)
....

欸这个就很那个,你单纯的,进去文件能干你自己想干的事就是偶尔会不知到自己干了什么?因为我看不到我自己的文件啊啊啊当然,这个权限不是为了整人的,你想,你看不到这个文件下面有啥子哦

[root@localhost haha]# ll
总用量 4
-rw-r--r--. 1 root root 5 5月  14 01:06 hihi.txt
drwxr-xr-x. 2 root root 6 5月  14 02:01 你个憨批
[mkml@localhost ~]$ ll haha
ls: 无法打开目录haha: 权限不够

也就是说明,你可能被耍-----
当然不是,如果你想整一个文件夹,大家共放在一个文件夹下,但是又不想让互相看到其他人的文件夹你就可以试试,欸,有人要发问了我,自己都看不到自己的创建的文件,我如果忘了呢?这是个好问题如果这是共享文件夹的话,这个就是另一种问题了,当然,我们今天只讨论最基础的。

我在被告知的情况下,我创立了一个属于我的,叫pp的文件夹,然后cd进去,然后创建一个叫kiki的txt文件,然后查看

[mkml@localhost ~]$ mkdir haha/pp
[mkml@localhost haha]$ cd pp
[mkml@localhost pp]$ ll
总用量 0
[mkml@localhost pp]$ nano kiki.txt
[mkml@localhost pp]$ ll
总用量 4
-rw-rw-r--. 1 mkml mkml 7 5月  14 02:12 kiki.txt

没错,就是你看到的这个效果,我可以进入我的文件夹,而且,可以查看我自己的文件夹里面的内容

[mkml@localhost haha]$ chmod 777 pp
因为我拥有w的权限,因此我也可以修改我文件的属性啥的
[root@localhost haha]# ll
总用量 4
-rw-r--r--. 1 root root  5 5月  14 01:06 hihi.txt
drwxrwxrwx. 2 mkml mkml 22 5月  14 02:12 pp

但是这样真的安全吗?

7. 有x 无r w:

[mkml@localhost ~]$ ll
总用量 0
drwxrwx--x. 2 root root 6 5月  14 02:32 haha
[mkml@localhost ~]$ cd haha
[mkml@localhost haha]$ ll
ls: 无法打开目录.: 权限不够
[mkml@localhost haha]$ mkdir kiki
mkdir: 无法创建目录"kiki": 权限不够
[mkml@localhost haha]$ nano kiki.txt(权限不够)

欸,你有没有想到什么,没错,上面不是说了吗?有w x无 r虽然可以让人在下面创建目录,但是也可以修改自己目录的权限,只要获得了另一个文件夹主人的权限同意,外加名字,那么即使看不到,也可以跳到别人的文件夹拿走资料,那这样的话,我只给它一个x权限,那它是不是只能进入,也就改不了权限了,不是吗?我刚开始实验时也兴奋了,但是事实是,只要属主是你的,你就拥有这个文件的权限,比如下面的情况

[root@localhost haha]# ll
总用量 0
drwxrwx---. 2 mkml   mkml   6 5月  14 02:42 mkml
[mkml@localhost haha]$ chmod 777 mkml
[root@localhost haha]# ll
总用量 0
drwxrwxrwx. 2 mkml   mkml   6 5月  14 02:42 mkml

事实证明,w的效用是目录,就是你对下面的文件或者目录可以干什么,比如现在,虽然你可以改权限,但你并不具备删掉这个文件夹的权限

[mkml@localhost haha]$ rm -rf mkml
rm: 无法删除"mkml": 权限不够

恶人自有恶人磨,Linux的恶人就是root用户了,刚刚说过了吧,属主只要是你,你就可以改权限,那么我们就把属主改成root用户,看看情况:

[root@localhost haha]# ll
总用量 0
drwxrwxrwx. 2 root   root   6 5月  14 02:42 mkml
[mkml@localhost haha]$ chmod 777 mkml
chmod: 更改"mkml" 的权限: 不允许的操作

跳,你接着跳。
这其实是从x权限引出来的一个思考,也就是跑题,但也要记住,文件除了权限,还有一个属主和属组的概念这也是决定一个文件的关键,以后我们会谈到而且要记住,是root用户作为属主,因为,如果是其他用户作为属主的话,还是会被拥有w权限的用户删掉的

8. 有x r 无w:

写到这里,基本上能绕明白的兄弟已经绕明白了,可以进,可以读,但是不能写,其实这个是一个我觉得挺标准的共享文件夹的,这一个的话,和上面的没有区别了,但是多了一个可以ls

好啦,写到这里基本上废了我这个不太聪明的脑袋半个脑水了,再说一说之前的一个问题。一个目录下面,如果有不属于自己的东西,我要拥有怎么样的权限才能删掉这个目录呢按照思路来说,我只要能进去,然后删掉下面的东西就行了那就是拥有wx权限就行了吧的确是这样,下去一层删完后再回到最高层删就行了,但是,不可以一口气删,也就是下面的情况

[root@localhost mkml]# ll
总用量 0
drwxrwx-wx. 3 root root 18 5月  14 03:32 haha
[root@localhost mkml]# ls -all haha/
总用量 4
drwxrwx-wx.  3 root root   18 5月  14 03:32 .
drwx------. 18 mkml mkml 4096 5月  14 03:32 ..
drwxr-xr-x.  2 root root    6 5月  14 03:32 hihi
[mkml@localhost ~]$ rm -rf haha
rm: 无法删除"haha": 权限不够

成功:

[mkml@localhost ~]$ cd haha
[mkml@localhost haha]$ rm -rf hihi
[mkml@localhost haha]$ cd
[mkml@localhost ~]$ rm -rf haha
[mkml@localhost ~]$ ll
总用量 0
drwxr-xr-x. 2 mkml mkml 6 5月   4 16:08 kiki
drwxr-xr-x. 2 root root 6 5月  14 03:16 mkml
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 公共
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 模板
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 视频
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 图片
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 文档
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 下载
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 音乐
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 桌面

这是啥情况不知道,但是在拥有这两个权限之后可以一层层删或者:

[root@localhost mkml]# chmod 777 haha

在拥有全权限情况下,可以直接删掉

[mkml@localhost ~]$ rm -rf haha
 [mkml@localhost ~]$ ll
总用量 0
drwxr-xr-x. 2 mkml mkml 6 5月   4 16:08 kiki
drwxr-xr-x. 2 root root 6 5月  14 03:16 mkml
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 公共
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 模板
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 视频
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 图片
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 文档
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 下载
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 音乐
drwxr-xr-x. 2 mkml mkml 6 4月  28 17:08 桌面

好了,已经结束了,这个笔记我拖了好久,也在今天这个生日,把生日前留下来的东西全部干完,好好犒劳下自己,通个宵做个笔记。
这篇笔记肯定是错漏百出,望dalao们包容,这是个初学者自己整理和思考的笔记,发上来,与各位学Linux的伙伴们共勉

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值