2009-08-21 25 views
2

在我們的FreeBSD環境中,我們有一臺服務器充當文件服務器,我們有一個問題,我們的系統管理員說不能修復。FreeBsd:允許同一組的用戶對它們創建的文件和目錄具有自動讀/寫訪問權限

我們所有的文件都駐留在一個目錄中,我們都可以訪問該目錄及其子目錄和文件。問題是,一旦我們組中的用戶創建文件或目錄,我們必須修改該目錄或文件以更改權限,以便我們組中的其他人可以訪問,讀取,寫入和刪除。這些不是我們的主目錄中的文件或子目錄,而是在我們應該每天與他們合作的目錄中。

發現很難相信沒有好的解決方案,我會要求有人幫我解決問題。

回答

2

我想你想要的是目錄和umask上的setgid位。然後新創建的文件和目錄將具有適當的組和適當的權限,讓其他人讀取abd寫入。

find /your-files-are-rooted-here -type d -print0 | xargs -0 chmod ug+rw,g+s

並設置umask002(或任何爲宜)。而且,當然,您可能希望修復現有文件的權限(上面的命令僅處理目錄)。

+0

這似乎並沒有訣竅:新的文件和文件夾仍然需要chmodded ...或者我們的系統管理員做錯了。 – Henrik 2009-08-27 10:55:20

+0

不得不'chmod'它們(而不是'chown')聽起來像缺乏有效的'umask'設置。 – 2009-08-27 13:16:38

+0

奇怪的是,如果我使用expandrive並讓textmate創建一個文件,它會得到rw-r-r-- ...但如果我在終端中使用touch來創建文件, rw-rw-r-- 對不起,你這麼多麻煩,但因爲我的系統管理員無法解決這個問題,並且它讓我瘋狂,我轉向了stackoverflow ......並且你是'黑客'ofcourse! – Henrik 2009-09-03 13:00:39

0

一個地方,但umask設置是「/ etc/bashrc」。找到「umask」。將「umask = 022」更改爲「umask = 002」。這樣做後,當創建一個新文件時,與文件所有者在同一組中的每個文件都可以寫入這個新文件。

請注意,這隻適用於從shell創建的文件,特別是bash。

相關問題