服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|

服务器之家 - 服务器系统 - Linux - linux服务器下完美解决无法删除虚拟主机文件或文件夹

linux服务器下完美解决无法删除虚拟主机文件或文件夹

2021-11-05 19:25Linux教程网 Linux

大家在使用Linux的虚拟主机时候有没有出现过通过FTP无法删除网站路径中的一些文件夹和文件,FTP工具软件会提示Permission Denied(没有权限),或者 550删除目录操作失败

FTP工具软件会提示Permission Denied(没有权限),或者 550删除目录操作失败。今天小残在操作FTP的时候就出现了这种问题。

出现的原因一般都是这些目录或文件是PHP程序以管理员用户写入的,而一般虚拟主机的用户名下的用户又没有管理员用户组的权限,因此无法删除。
大家在使用Linux的虚拟主机时候有没有出现过通过FTP无法删除网站路径中的一些文件夹和文件

linux服务器下完美解决无法删除虚拟主机文件或文件夹

我们可以把下面这个PHP代码放到对应的虚拟主机的空间上运行,按提示输入文件夹或文件名即可。(注意这里最好使用相对路径。)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php
/*
 ####警告####
 本软件为空间维护工具,使用完毕之后请立即删除本文件
 www.exehack.net
*/
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>空间文件夹/文件删除工具</title>
<style>
body {font-family:"宋体"; font-size:12px;}
imput { border:1px #ccc solid;}
b { color:#FF0000;}
</style>
</head>
<body>
<form action="?action=dirdel" method="post">
删除文件夹,<b>请确定填写无误后再进行删除操作!</b><br>
请输入文件夹路径,多个文件夹请使用";"隔开
<input type="text" name="all_folder" size="50">
<input type="submit" value="删除">
</form>
<br>
<form action="?action=filedel" method="post">
删除文件,<b>请确定填写无误后再进行删除操作!</b><br>
请输入完整的文件路径,多个文件请使用";"隔开
<input type="text" name="all_files" size="50">
<input type="submit" value="删除">
</form>
<br>
<?php
$action = $_GET['action'];
//删除目录操作
if($action=='dirdel') {
 $all_folder = $_POST['all_folder'];
 if(!empty($all_folder)) {
 //根据分号识别多个文件夹
 $folders = explode(';',$all_folder);
 if(is_array($folders)) {
 foreach($folders as $folder) {
 deldir($folder);
 echo $folder . '删除成功<Br>';
 }
 }
 }
}
if($action=='filedel') {
 $all_files = $_POST['all_files'];
 if(!empty($all_files)) {
 //根据分号识别多个文件
 $files = explode(';',$all_files);
 if(is_array($files)) {
 foreach($files as $file) {
 if(is_file($file)) {
 if(unlink($file)) {
 echo $file . '删除成功<Br>';
 } else {
 echo $file . '无法删除,请检查权限<Br>';
 }
 } else {
 echo $file . '不存在<br>';
 }
 }
 }
 }
}
//删除目录及所包含文件函数
function deldir($dir) {
 //打开文件目录
 $dh = opendir($dir);
 //循环读取文件
 while ($file = readdir($dh)) {
 if($file != '.' && $file != '..') {
 $fullpath = $dir . '/' . $file;
 //判断是否为目录
 if(!is_dir($fullpath)) {
 //如果不是,删除该文件
 if(!unlink($fullpath)) {
 echo $fullpath . '小残提示:无法删除,可能是没有权限!<br>';
 }
 } else {
 //如果是目录,递归本身删除下级目录
 deldir($fullpath);
 }
 }
 }
 //关闭目录
 closedir($dh);
 //删除目录
 if(rmdir($dir)) {
 return true;
 } else {
 return false;
 }
}
?>
</body>
</html>

为了防止出错大家也可以直接下载文件然后上传到虚拟主机上。

下载地址:本地下载

下载好以后然后将 exehack.php上传到虚拟主机根目录,然后访问该文件。

然后将要删除的文件或者文件夹的路径填写上去

linux服务器下完美解决无法删除虚拟主机文件或文件夹

比如删除min文件夹那么如下设置:

linux服务器下完美解决无法删除虚拟主机文件或文件夹

然后刷新下虚拟主机即可发现文件已被删除。

延伸 · 阅读

精彩推荐
  • Linux在 systemd 中使用控制组管理资源

    在 systemd 中使用控制组管理资源

    systemd 和 SystemV 之间的一个主要差异是管理进程的方式。SystemV 将每个进程视作一个独立的实体。systemd 将相关的进程集中到一个控制组,简写做 cgroup,并将...

    Linux中国4762021-10-14
  • Linuxlinux系统下 文件夹和文件的字符集编码方式转换

    linux系统下 文件夹和文件的字符集编码方式转换

    这篇文章主要为大家介绍了linux系统下 文件夹和文件的字符集编码方式转换,若用ftp客户端访问资源时,遇到乱码情况,也请核实客户端编码方式和服务器...

    linux教程网4072019-10-27
  • LinuxLinux系统的服务器上配置电信网通双IP的方法

    Linux系统的服务器上配置电信网通双IP的方法

    这篇文章主要介绍了Linux系统的服务器上配置电信网通双IP的方法,由于中国运营商之间很差的网络通常度,国内服务器的相关路由配置也是很必要,需要的朋友...

    服务器之家4172019-09-16
  • LinuxLinux basename命令的使用详解

    Linux basename命令的使用详解

    今天小编为大家带来的是Linux basename命令的使用详解,希望对大家会有帮助,有需要的朋友一起去看看吧...

    Linux之家5902019-06-01
  • LinuxLinux下RPM软件包的安装与卸载方法

    Linux下RPM软件包的安装与卸载方法

    在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件...

    Linux教程网3172019-12-03
  • Linuxlinux btrfs文件系统及管理

    linux btrfs文件系统及管理

    Btrfs(B-tree文件系统,通常念成Butter FS,Better FS或B-tree FS),linux文件系统,具有写时复制COW(copy-on-write),改善ext3文件系统单文件大小限制,并加入其他特性...

    linux之家7962019-06-16
  • LinuxLinux下如何查看16进制文件?

    Linux下如何查看16进制文件?

    最近一些朋友问小编Linux下如何查看16进制文件?今天小编将为大家带来Linux下查看16进制文件的方法,有需要的朋友一起去看看吧...

    Linux之家6062019-06-03
  • Linux如何使用命令行更改Linux系统的日期和时间

    如何使用命令行更改Linux系统的日期和时间

    Linux 系统的时间有时候会不准,不准确的时间会导致日志文件中的时间出现错误,所以准确的时间是很重要的,那么要怎么更改Linux 系统的时间呢?下面小编...

    系统之家4872021-02-27