如果home已加密且700,如何共享資料夾?

如果home已加密且700,如何共享資料夾?

注意:我使用的是 Ubuntu 12。

Linux 中是否有預設資料夾用於在本機使用者之間共用內容?我以為 /usr/share 是為此目的,但除非我使用 sudo,否則它不會讓我這樣做。

當我右鍵單擊資料夾時,我注意到有一個「共享選項」項目,但我擔心它可能會在幕後做一些我不喜歡的事情。那麼它是怎樣工作的呢?從 cli 做同樣的事情會很複雜嗎?

答案1

唯一可用的現成資料夾是 /tmp 和 /var/tmp。 /tmp 可能會在每次重新啟動時被清除,而 /var/tmp 可能會在一段時間(例如一周)後被刪除。無論如何,他們都是為了暫時的文件。即使 Ubuntu 12.04 不觸及 /var/tmp,您也永遠不知道下一個版本會做什麼,因此您應該始終假設這些目錄的內容很可能會在沒有警告的情況下被刪除。

如果這些都是暫時的,這確實是一個問題,那麼您需要其他解決方案。如果我希望其他本機使用者能夠讀取我的文件,我會將主目錄的模式設為 755(這是我通常所做的);但在這種情況下,我會注意將主目錄中的任何秘密檔案或目錄分別設為 600 或 700。

臨時檔案+所有人可讀的主目錄的組合通常就足夠了。如果你確實想要一個共用資料夾,你需要創建,例如/home/shared,並將其設定為777或1777(1777意味著所有人都可寫,就像777一樣,但只有檔案的擁有者可以刪除該檔案)。更高級的設定包括設定目錄 setgid 位元和使用使用者群組,但我不會詳細說明這一點。

我通常不喜歡目錄的 711 模式;我發現它令人困惑,並且不清楚它的安全性如何(我喜歡假設可讀意味著可讀,即使您必須猜測它的名稱才能訪問它)。

總之,解決方案取決於您想要做什麼。

答案2

如果您授予目錄執行權限但未授予讀取權限,則該進程將能夠遍歷該目錄但無法讀取其內容。這將允許存取其中的子目錄。所以,簡而言之,0711。

答案3

如果您不願意讓其他人存取您的主目錄,您可以使用綁定掛載。即,您可以使用不同的路徑存取目錄。它類似於檔案系統中的鏈接,但不需要授予用戶訪問路徑中所有目錄的權限。

例如,您建立一個名為 /shares 的目錄(或任何您喜歡的目錄)並將所有應共用的目錄連結到(必須先前建立 /shares/user ):

mount --bind /home/user/private/stuff/share /shares/user

因此,只有共享本身可以被其他人訪問,/home/user 可以是 0700(以及私有的,東西)。要使其永久化,您必須在 /etc/fstab 中新增一個條目:

/home/user/private/stuff/share /shares/user none bind 0 0

mount 指令或編輯 /etc/fstab 將需要 root 權限,因此使用非特權帳號時,請在指令前加上「sudo」前綴。

相關內容