SITE CHMOD命令通过ftp失败,无法弄清楚原因

时间:2014-08-14 13:16:25

标签: c# .net ftp ftp-client

使用FTPClient for .NET 2.0。

我正在连接到vsftpd服务器并且我能够编写该文件,但我无法运行该命令。我已经提供了以下代码。

当我使用命令提示符登录到ftp服务器时,我也能够运行QUOTE SITE chmod命令。我有一个200 SITE CHMOD命令ok。

这是服务器上的配置设置吗?

        ftpClient.Connect();
        string ftpLoc = folder + fileName;
        using (var fileStream = File.OpenRead(localFile))
        using (Stream ostream = ftpClient.OpenWrite(ftpLoc))
        {
            try
            {
                var buffer = new byte[8 * 1024];
                int count;
                while ((count = fileStream.Read(buffer, 0, buffer.Length)) > 0)
                {
                    ostream.Write(buffer, 0, count);
                }

                FtpReply reply;
                if (!(reply = ftpClient.Execute("SITE chmod 775 " + fileName)).Success)
                {
                    throw new FtpCommandException(reply);
                }
            }
            catch (Exception e)
            {
                logSW.WriteLine("ftp error: " + e.InnerException + " | " + e.Message);
                return e.Message;
            }
        }

1 个答案:

答案 0 :(得分:0)

这可能取决于您的登录方式。

来自VSFTPD configuration manpage

chmod_enable

启用后,允许使用SITE CHMOD命令。 注意!这仅适用于本地用户。匿名用户永远不会使用SITE CHMOD。

Default: YES