SharpSSH - 如何在使用Sftp.Put时设置权限

时间:2012-11-09 14:09:51

标签: c# sftp sharpssh

我正在使用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();
}

如何设置不同的权限?

1 个答案:

答案 0 :(得分:2)

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

相关问题