检查 FTP 删除权限而不尝试删除文件
Check FTP delete permission without trying to delete a file
我必须检查 FTP 服务器是否允许我删除文件。不删除现有文件或发送文件并尝试删除该文件。
目前,我使用 'Send a file and try to Delete it' 虚拟解决方案,但有时我没有写权限。
我使用 Chilkat 库尝试了下面的代码,但据我所知,只有 Read、Write 和 Execute 属性,不存在 Delete 属性。
var ftp = new Chilkat.Ftp2();
ftp.Hostname = "127.0.0.1";
ftp.Username = "test";
ftp.Password = "test";
ftp.AuthTls = false;
ftp.PassiveUseHostAddr = true;
ftp.Connect();
// To get file permissions in UNIX format, disallow MSLD:
ftp.AllowMlsd = false;
if (ftp.GetDirCount() > 0)
{
textBox1.AppendText("The permissions format is: " + ftp.GetPermType(0));
textBox1.AppendText("\r\n");
}
for(var i = 0; i < ftp.GetDirCount();++i)
{
// Display the permissions and filename
textBox1.AppendText(ftp.GetPermissions(i) + " " + ftp.GetFilename(i));
textBox1.AppendText("\r\n");
}
ftp.Disconnect();
那么,根据我上面的解释,是否可以判断FTP服务器是否有删除文件的权限呢?如果是,
FTP 协议中没有 API 来测试权限。
您可以尝试解释从 FTP 目录列表中获得的权限。
但是例如在 *nix 系统上,列表永远不会为您提供足够的信息来做出这样的决定。
顺便说一句,在 *nix 服务器上,如果您对文件的父目录具有写入权限,则您有权删除该文件。创建新文件的相同权限是什么。所以通常情况下,如果你可以创建一个文件,你就可以删除一个文件。但是 FTP 服务器通常会在系统权限之上强加另一个权限。这些通常包括创建和删除文件的单独权限。
我必须检查 FTP 服务器是否允许我删除文件。不删除现有文件或发送文件并尝试删除该文件。 目前,我使用 'Send a file and try to Delete it' 虚拟解决方案,但有时我没有写权限。
我使用 Chilkat 库尝试了下面的代码,但据我所知,只有 Read、Write 和 Execute 属性,不存在 Delete 属性。
var ftp = new Chilkat.Ftp2();
ftp.Hostname = "127.0.0.1";
ftp.Username = "test";
ftp.Password = "test";
ftp.AuthTls = false;
ftp.PassiveUseHostAddr = true;
ftp.Connect();
// To get file permissions in UNIX format, disallow MSLD:
ftp.AllowMlsd = false;
if (ftp.GetDirCount() > 0)
{
textBox1.AppendText("The permissions format is: " + ftp.GetPermType(0));
textBox1.AppendText("\r\n");
}
for(var i = 0; i < ftp.GetDirCount();++i)
{
// Display the permissions and filename
textBox1.AppendText(ftp.GetPermissions(i) + " " + ftp.GetFilename(i));
textBox1.AppendText("\r\n");
}
ftp.Disconnect();
那么,根据我上面的解释,是否可以判断FTP服务器是否有删除文件的权限呢?如果是,
FTP 协议中没有 API 来测试权限。
您可以尝试解释从 FTP 目录列表中获得的权限。
但是例如在 *nix 系统上,列表永远不会为您提供足够的信息来做出这样的决定。
顺便说一句,在 *nix 服务器上,如果您对文件的父目录具有写入权限,则您有权删除该文件。创建新文件的相同权限是什么。所以通常情况下,如果你可以创建一个文件,你就可以删除一个文件。但是 FTP 服务器通常会在系统权限之上强加另一个权限。这些通常包括创建和删除文件的单独权限。