使用Linux做檔案伺服器己好一陣子了..
一直有個問題就是不同的使用者上傳的檔案因為權限的不同...
其他的使用者就無法做讀寫的動作..
那怕是相同群組的使用者也是一樣...
其實這問題很早之前就想解決..
只是一直都沒有去做..
今天總算是花了點時間把它給解決了...

原本將權限的設定放在SAMBA上..
但沒想到在SAMBA設定權限後還是沒有辦法達到想要的結果..
所以將目標放到了系統上...
才突然想起有個umask可以設定...
umask在系統的預設值是0022...
在開啟終端機後輸入:umask 0007後即可改變umask..
但在關閉終端機後umask馬上又回到了預設值0022....
所以應將目標放在如何改變umask的預設值..

原來更改系統預設umask可更改:

/etc/profile

/home/user/.profile

這兩個檔案的差別在於"/etc/profile"是針對系統中所有用戶(包括root)做更改...
"/home/user/.profile"是針對個別用戶去做更改..

更改"/etc/profile":

在終端機中輸入:

sudo madedit /etc/profile

將檔案最後的"umask 0022"改為欲改變的權限即可(這裡是改成0007)

更改完成後重新登入後新的umask即會生效囉!

更改/etc/profile的方法雖然方便..
但也對系統卻是有相當的風險(因為連root的umask也會被改掉)所以比較不建議使用這樣的方法...

更改"/home/user/.profile":

在終端機中輸入:

sudo madedit /home/.profile   #若是更改自己的.profile檔則無需輸入sudo

開啟檔案後會在差不多第9行看到"#umask 022"

將最前方的"#"刪除並將"022"改為欲改變的權限即可(這裡是改成0007)

更改完成後重新登入後新的umask即會生效囉!

不過更改"/home/user/.profile"的缺點是只改到了一個使用者..
其他沒有更改".profile"檔的使用者其umask還是會和系統預設值一樣...
不過為了系統安全如果用戶數量不大的情況下還是慢慢手動改一下吧...

當然我們也可以先更改"/etc/profile"檔...
再將"/root/.profile"檔內umask改為較安全的077..
就可以不用手動更改所有使用者的.profile檔囉! 

 


參考資料:Default umask

 

小必 發表在 痞客邦 PIXNET 留言(0) 人氣()