如何建立完全共享的Unix目錄?

如何建立完全共享的Unix目錄?

我想在我的系統上的 2 個使用者之間共用一個目錄。這是我到目前為止所做的:

我有用戶“user1”和“user2”。我創建了一個名為“我們的”群組並將兩個用戶添加到該群組中。我還創建了一個 /ours 目錄並將其設定為“ours”群組:

drwxrwsr-x user1 ours 4096 dec 13 2020 /ours

現在,一切都正常,但有時當我們在此資料夾中建立檔案時,該檔案將不屬於「我們的」群組所有。例如,我剛剛下載了一個 PDF 到該資料夾,我看到 PDF 文件被設定為用戶“user1”和群組“user1”而不是群組“ours”(說實話,我不記得該檔案是否是由Firefox 或Evince 有效創建)。這很煩人,因為每當我希望其他人真正存取檔案時,我必須在目錄上執行“chown -R”以使所有內容都歸我們的群組所有。

我如何確保我們使用的各種不同程式在那裡創建的文件始終歸“我們的”組所有?我認為群組的權限(setgid)會強制執行這一點,但這不是我使用目錄一段時間後看到的。使用者空間程式是否會對其建立的檔案進行 chgrp 操作?

如果這是不可能的,您到底建議我做什麼才能獲得完全無縫的「共享目錄」體驗?

謝謝。

答案1

將目錄設為 setgid 應該強制在那裡建立的檔案歸該群組所有,但是,某些程式可能會 chgrp-ing 該檔案。

chgrp -R在這種情況下,除了設定一個定期(例如每 10 分鐘)對目錄執行一次的 cron 作業之外,我沒有看到其他方法。

相關內容