簡體   English   中英

C#-通過FTP寫入文件-如何設置權限?

[英]C# - Write file over FTP - how to set rights?

我編寫了一個.net C#應用程序,該程序將文本文件寫入到UNIX計算機上,應用程序在其中讀取該文件。 我的應用程序將文件寫到目標文件夾就好了,但是unix應用程序拋出一個錯誤,說它沒有讀取文件的權限。
使用WinSCP發送文件時,可以看到權限為rwxrwxrwx。
當我的應用發送文件時,權限為rw-r -----。
我認為這就是原因。

這是我的代碼:

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

如何設置權限,以便其他應用程序可以讀取文件?

這不是FTP,這是SSH shell的用法。 您應該在命令中附加“&chmod 777” + directoryName +“ /” + fileName之類的內容。

您應該創建文件,以使讀取用戶帳戶具有對該文件的讀取權限(因此讀取應用程序將在該帳戶下運行)。 由於您沒有指定更多細節,因此只能猜測需要什么。 因此,嘗試一下:

  • 將文件創建為創建文件的用戶所擁有
  • 將文件創建為屬於兩個用戶(創建和讀取用戶帳戶)成員的組
  • 創建具有權限rw-rw-r--的文件rw-rw-r--

最好的方法是使兩個帳戶都成為某個組的成員,並為創建用戶將該組作為主要組。 然后將該用戶帳戶umask設置為所需的權限掩碼值。 這樣,如果需要,“讀取”應用程序也可以刪除文件。 當然,這只是一般的經驗法則,因為您根本沒有指定您真正需要的足夠詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM