如果要跟項目組的其他人共享數據,但是其他人的文件都放在自己的home目錄下(比如/home/user1),需要修改權限主要有2部分。
1.創建一個公用的組,把需要訪問的用戶都加到這個組里。比如都加入到data組
usermod -a -G data user2
usermod -a -G 用戶組 用戶名
把用戶添加進入某個組(s)
然后把目標目錄的group owner設置為data
chown user1:data /home/user1
user1:data
:左邊是用戶,右邊是組
2.要修改目標目錄的同組訪問權限,默認home目錄下應該是700。這時同組用戶之間就能相互查看公共目錄下的文件內容了。
chmod -R 750 /home/user1
chmod 750 “授權文件名” 第一個數字7表示文件所有者的權限, 第二個數字5表示文件所有者同屬一個用戶組的其他用戶的權限, 第三個數字0表示其他用戶組的權限。
chmod -R g=rwx /home/user1
3.如果某用戶是在修改權限后新創建了文件,此時其他用戶依然只有讀權限不能修改。需要對公共目錄再修改權限
chmod -R g+s /share_folder
為目錄加上setgid標志 (setgid 只對目錄有效)
setgid: 該權限只對目錄有效. 目錄被設置該位后, 任何用戶在此目錄下創建的文件都具有和該目錄所屬的組相同的組.
4. 但是在共享出的目錄是允許每個用戶對其具有寫權限,每個用戶都能創建文件,刪除文件,同時也出現了用戶之間可以互相刪除其他用戶的文件,這樣給用戶的一些重要的文件,面臨着被刪除的風險。
chmod o+t /share2
為文件加上sticky標志 (sticky只對文件有效)
該文件所屬的組是否對該用戶具有寫權限. 如果沒有寫權限, 則這個目錄下的所有文件都不能被刪除, 同時也不能添加新的文件. 如果希望用戶能夠添加文件具有寫權限, 也不能刪除該文件.
REF
https://my.oschina.net/aibati2008/blog/779020