我正在使用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();
}
如何设置不同的权限?
答案 0 :(得分:2)
SharpSsh库似乎为SFTP实现了非常基本的功能,它没有实现设置文件权限的方法。 您可以尝试通过SSH shell设置权限(在SSH中有子系统通道,它执行一个命令,因此您可以调用chmod)如果它们支持这一点,否则您应该搜索其他C#库。幸运的是,有很多可用。