多语言展示
当前在线:600今日阅读:113今日分享:31

unix系统中dr-xr-xr-x的目录怎么删除

在unix或类unix系统中,目录的权限都是有规定的,默认的权限是755,而如果遇到了今天题目中的目录权限是dr-xr-xr-x这种情况怎么处理呢?下面我们一起来看。
工具/原料

unix操作系统

2

在unix或者类unix系统中,权限通常和用户是相关联的。我们看下面这张图,显示了系统中的三个目录test1,test2和test3,这三个目录的权限都是题目中的dr-xr-xr-x。但是这三个目录的用户分别是root、test和cephadmin。

3

要想删除这种类型的目录,我们分为3种情况,按下面逻辑来依次讲解:1. root用户2. 普通用户     2.1 目录位于普通用户的家目录     2.2 目录位于其他用户的目录下我们首先来讲解第一种情况,当前操作的用户具有root权限, 如root用户。此时可以处理系统中的所有目录。如下面图中所示,直接使用rmdir test*就会删除所有的目录,使用ll命令查看的时候,所有目录都被删除了,而不管它的用户是谁。

4

很多时候不会随便把root用户权限给一些普通用户,防止普通用户误删除系统的重要文件。即第2种情况,普通用户身份的时候。我们先看来这个目录位于普通用户的家目录时,普通用户是test。如下面图中所示:使用pwd命令查看当前路径是/home/test,即test用户的家目录,然后查看目录下的3个测试目录test1、test2和test3。权限和第一种情况一致。直接使用命令:rmdir test*可以看到,所有目录都被删除掉了。和第一种情况一致。

5

我们再来看普通用户时,测试目录位于其他用户目录下的情况。先切换到test用户,这个时候3个测试子目录test1、test2和test3位于/data/test/下。如下面第一张图中所示。然后再执行删除命令:rmdir test*结果如下所示,所有目录都是permission denied。使用另外一个删除命令:rm -rf test*结果还是一样,都是permission denied。

6

这是因为任何普通用户想要删除一个dr-xr-x-rx权限的目录,必须满足两个条件:在这个目录的父目录有w权限。在上面第4步里,我们使用rmdir命令删除测试目录时,test2目录的用户和群组都是test,但是删除不了,就是该条件没有满足。如下所示,test用户所处的位置是/data/test/,而这一层目录的权限是:drwxr-xr-x用户和群组都是root,普通用户test是没有任何w权限的,因此无法删除。

7

我们将对应的w权限加上去,再删除,如下所示:添加权限命令是:chmod o+w /data/test然后看到目录用另外的颜色来标识。再使用test用户删除test2目录,可以看到,正常删除,删除以后只剩下test1和test3目录。

8

我们再来尝试删除test1和test3目录,如下面图中所示,发现也可以删除。至此,所有的内容说明完毕,我们来总结一下:1. root用户,可以删除任何dr-xr-xr-x权限的目录2. 具有dr-xr-xr-x权限的目录位于普通用户test的家目录,test用户可以所有这种目录3. 具有具有dr-xr-xr-x权限的目录位于其他用户的目录下,此时只要普通用户具有上级目录的w权限, 那么就可以删除这些目录。因此,如果你遇到了具有dr-xr-xr-x权限的目录,就可以根据自己的权限情况来删除了。

注意事项
1

如果目录具有特殊权限,那么就需要另外讨论了。

2

本人原创,转载请声明

推荐信息