0

我正在使用 SharpSSH 将文件写入 unix 机器。这些文件应该被驻留在 unix 机器上的另一个应用程序读取然后删除。
问题是unix应用程序没有删除文件的权限。我可以看到文件的权限是 rw-r-----
这是我的代码:

public override void WriteFileg(string directoryName, string fileName, string responseText, host, username, password, port) {
    // Write the file locally
    TextWriter writer = new StreamWriter("TempForSftp.txt");
    writer.WriteLine(responseText);
    writer.Close();

    // Transfer the local file
    Sftp sftp = new Sftp(host, username, password);
    sftp.Connect(int.Parse(port));
    sftp.Put("TempForSftp.txt", directoryName + "/" + fileName);
    sftp.Close();
}

如何设置不同的权限?

4

1 回答 1

2

SharpSsh 库似乎为 SFTP 实现了非常基本的功能,它没有实现设置文件权限的方法。您可以尝试通过 SSH shell 设置权限(在 SSH 中存在子系统通道,它执行一个命令,因此您可以调用 chmod)如果他们支持的话,您应该搜索其他 C# 库。幸运的是,有很多可用的。

于 2012-11-09T14:40:59.657 回答