C# - 通过FTP写文件 - 如何设置权限?

时间:2012-11-08 17:12:43

标签: c# unix ftp

我写了一个.net C#应用程序,它将文本文件写入unix机器,应用程序在其中读取它。我的应用程序将文件写入目标文件夹,但是unix应用程序抛出一个错误,说它没有读取文件的权限。
当我使用WinSCP发送文件时,我可以看到权利是rwxrwxrwx 当我的应用程序发送文件时,权限是rw-r -----。
我认为这就是原因。

这是我的代码:

public override void WriteFile(string directoryName, string fileName, string text) {
     sshExec.RunCommand(@"echo """ + text + @""" > " + directoryName + "/" + fileName);
}

如何设置权限以便其他应用程序可以读取文件?

2 个答案:

答案 0 :(得分:1)

这不是FTP,这是SSH shell的用法。 你应该在你的命令中添加类似“& chmod 777”+ directoryName +“/”+ fileName的内容。

答案 1 :(得分:-1)

您应该创建文件,使读取用户帐户具有该文件的读取权限(因此读取应用程序运行的帐户)。由于您没有指定任何更多细节,因此您只能猜测所需的内容。所以试试这个:

  • 将文件创建为创建文件的用户所拥有
  • 将文件创建为属于用户所属的组,即创建和阅读用户帐户
  • 使用权限rw-rw-r--
  • 创建文件

最好的方法是使两个帐户都成为某个组的成员,并将创建用户组作为主要组。然后将该用户帐户umask设置为所需的权限掩码值。这样,“阅读”应用程序也可以删除文件(如果需要)。 因为这只是一般的经验法则,因为你根本没有详细说明你真正需要的细节。

相关问题