SITE CHMOD 命令通过 ftp 失败,不知道原因

问题描述 投票:0回答:1

使用 .NET 2.0 的 FTPClient。

我正在连接到 vsftpd 服务器,并且可以写入文件,但无法运行该命令。我提供了下面的代码。

当我使用命令提示符登录 ftp 服务器时,我还可以运行 QUOTE SITE chmod 命令。我收到了 200 SITE CHMOD 命令,正常。

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

        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;
            }
        }
c# .net ftp ftp-client
1个回答
0
投票

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

来自 VSFTPD 配置手册页

chmod_启用

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

Default: YES 
© www.soinside.com 2019 - 2024. All rights reserved.