請問一下有人知道linux的group問題
我有project1 project2 兩個專案groups.
我把ABC三個人都加入此group 如何才能兩邊都可以直接進去編輯,
目前遇到的問題是 他只能進去編輯primary group的檔案.
謝謝
參數 -R:套用到底下所有子目錄
2770 -rwxrwt---
但如果要精準一點,建議是:
find /路徑和目錄名稱 -type d -print0 | xargs -0 chmod 2770
find /路徑和目錄名稱 -type f -print0 | xargs -0 chmod 2660
用 find 找出該目錄底下,區分 「目錄」和「檔案」。
目錄 = 2770
檔案 = 2660
因為如果直接 chmod 2770 -R,會連檔案都變成 2770(可執行)。
**************************************
講解說明:
Linux 的權限數字,其實總共有 4位數
第1位是"特殊權限",若省略則為0(無作用)
比方常用的 775、664...什麼的,實際上是 0775、0664,第一位"特殊權限"若省略,系統會自動補0。
但有時候是需要用到"特殊權限"的。樓主這個案例的需求,就是需要用到"特殊權限"的。
參考資料:鳥哥
6.4.3 檔案特殊權限: SUID, SGID, SBIT
http://linux.vbird.org/linux_basic/0220filemanager.php#suid_sgid_sbit
第1位特殊權限說明:
---------------------------
1= set uid
檔案:執行/變更 時為 "檔案擁有者" 的權限
常用於不具 root 身份的使用者,運行需 root 身份的檔案。
2 = set gid
檔案: 執行/變更 時為 "檔案擁有群組" 的權限
目錄:寫入時,"擁有群組" 會變成 "目錄的擁有群組"(包含底下所有子目錄),即是會「繼承」上層目錄群組權限的意思。
在白話一點說就是:
有一個目錄名稱 = 群組1
擁有者:擁有群組 = root:群組1
權限 2770
則只有 群組1 的人可以進入和寫入。
且不管任何人去寫入檔案或目錄,擁有群組都會 繼承 最上層目錄的群組,變成 群組1。
樓主你的問題,只要進入目錄,ls 查一下就明白了。
是不是檔案文件的擁有群組,都不同的?
有的 群組1,有的 群組2
那是因為沒有 2770 的緣故。寫入時,檔案文件就會變成寫入的那個人的主要群組。而不是最上層目錄 群組1 的群組。
※給 使用者 user 加入群組,推薦可以用 webmin 很方便。
一位使用者,可以同時擁有多個群組,比如:企劃部、研發部、視覺傳達部、程式設計部、主管經理層級.......等等。
可以加入群組,也可以取消群組。
所有部門的專屬目錄,權限都必須是 2770。
只有加入該部門群組的人可以進入,並且寫入到該部門專屬目錄的任何資料,群組都會 繼承 最上層目錄的群組。
****************************
另說一下 smb.conf 設定
區網若有 windows 電腦,在共享目錄,一般都用 smb
[群組1]
comment = 群組1
path = /home/xxxx
writable = yes
public = no
browseable = yes
create mode = 2660
directory mode = 2770
這個不這樣設也是可以用啦,但這樣設會比較合邏輯一點。
權限是系統核心層級的,smb 只是個軟體,優先權不一樣。所以即便設 0660 和 0770,也不會影響到目錄的 2770。
然而寫清楚一點,會比較明白。
內文搜尋

X