2010-06-15 104 views
3

例如,我希望一個文件在上傳之前自動將其上傳到我的Linux主機,並且在Windows下有權限644。我怎麼能這樣做?如何在windows下爲linux主機設置文件權限?

順便說一句,我使用FileZilla中上傳

更新:後前這個問題,其實我沒有想過這是不可能的了。但是,因爲我有很多WordPress的網站,我記得我從來不需要爲wordpress文件設置權限。所以,我做了一個實驗,

  1. 下載中心一個新的WordPress的包,zip格式(Windows下)
  2. 它上傳到我的Linux主機,
  3. 解除存檔這些文件的
  4. 檢查權限

我看到所有的文件都有自己的權限,大約644,755,正如wordpress文檔中所描述的

+1

請您正確使用大寫字母嗎?對於那些沒有很好地閱讀英文的人來說,正確使用'I'會有幫助。 – 2010-06-15 15:23:35

+0

對不起,任何錯誤的拼寫,英語不是我的母語。你能告訴我我應該把'我'改爲'我'嗎?是'我'應該總是大寫? – Edward 2010-06-15 15:35:50

回答

4

我認爲這在大多數情況下是不可能的。

您能否提供更多關於您如何上傳的信息? FTP,SFTP,SMB? :-)

例如對於FTP,您可以配置FTP服務器以便爲所有新文件提供644 umask(請參閱this example for ProFTPd)。

對於SFTP,客戶端可能能夠在上載後更改權限,因爲它畢竟具有SSH訪問權限。

+2

關於您的更新:這取決於存檔格式。例如,Tar意識到Linux文件的權限,因此.tar或.tar.gz文件中的文件可以保留其權限。如果通過FTP傳輸,或者如果您存儲在中間的Windows計算機上,則無關緊要,因爲權限存儲在存檔中。 – pableu 2010-06-15 15:37:13

+0

我下載並上傳的wordpress軟件包是zip格式,從未使用tar或tar.gz – Edward 2010-06-15 15:41:53

+0

並繼續您的想法,也許這是因爲wordpress在Linux下構建它們的zip包?而當我壓縮我的文件在Windows中,因此雖然權限被存儲,但Linux無法識別Windows權限信息,它看起來有道理 – Edward 2010-06-15 15:49:56

1

你不能。權限不是寫入文件本身,而是寫入文件系統。所以一旦文件上傳就必須完成。

+0

我不明白爲什麼在文件系統。用例:我在windows中創建了.sh腳本。推到混帳。克隆它在Linux上。試圖執行:沒有機會。給chmod + x ../script.sh,強制推送。克隆在另一臺linux機器上。試圖執行 - 利潤。 – 2016-12-14 13:07:04

0

假設您使用FTP上傳文件,更好的FTP客戶端(FileZilla)將允許您設置權限,如果服務器設置爲允許FTP客戶端設置它。

就「默認設置」而言,644通常是文件的默認設置。這又由服務器設置。我會假設有一個FTP客戶端,它會自動爲每個文件設置它,但我不確定。如果你使用權限進行修改,記住目錄是755,而不是644,服務器可能會讓你刪除自己對文件的訪問權限。

0

首先,用戶名擁有哪些文件?你上傳時連接了什麼用戶名?

該用戶的默認umask設置是什麼?

0

因此,您可以使用Windows FTP命令「quote」,它允許您向FTP服務器發送任意命令。

假設你的Linux FTP服務器支持SITE UMASK ...

例如ftp> quote SITE UMASK 111

這將等同於:在Linux命令行上執行chmod 666 *,但通過Windows上的FTP執行。