linux系統管理屬主、屬組、受權相關

屬主、屬組、受權相關

需求: /目錄下面有一個public目錄,每一個系統的普通用戶均可以往這個目錄放東西,對在public目錄下本身的文件有徹底控制權,不能修改刪除別人的文件,jack用戶對此目錄及目錄下全部文件有徹底控制權
思路:
一、每一個用戶均可以在public目錄底下放文件,那麼這個目錄的權限就是 777,全部人可寫可讀可執行drwxrwxrwxlinux

二、對本身的文件有徹底控制權,對於一個普通用戶來講,登錄本身的帳號創建的文件默認權限應該是664或者775(/etc/profile裏面普通用戶的umask=002),屬主屬組都是本身,普通用戶對本身的文件是有徹底控制權的bash

三、粘滯位,public目錄權限777規定了全部人對目錄下的文件有刪除剪切移動的權限,那麼這裏就有一個問題,tom在public底下創建的文件,lucy也是能夠刪除的,由於tom對於public這個目錄是普通用戶,lucy也是普通用戶,咱們權限都是7,一個普通用戶能夠刪除大目錄下全部人的文件,顯然是不合理危險的,因此我須要對public這個目錄在進行一些限制,public目錄的權限改爲1777,這個1就是粘滯位t,當目錄被設置了粘滯位權限之後,即使用戶對該目錄有寫入權限,也不能刪除該用戶中其餘用戶的文件數據,而是隻有該文件的全部者和root用戶纔有權將其刪除,說白了就是實現了public目錄權限和底下文件權限的一個動態平衡。粘滯位只能對目錄設置,權限中x會變成t。
驗證:
linux系統管理屬主、屬組、受權相關
linux系統管理屬主、屬組、受權相關
linux系統管理屬主、屬組、受權相關
linux系統管理屬主、屬組、受權相關
linux系統管理屬主、屬組、受權相關ide

當須要爲用戶提供一個開放目錄而不但願形成管理混亂時,經過爲目錄設置粘滯位權限即可以解決
但是如何讓jack用戶對這個公共目錄下的全部其它用戶建立的文件有徹底控制權呢,這個時候就須要超級管理員root 在/etc/sudoers配置文件受權jack用戶chown命令,chown -R jack /public遞歸更改public目錄及其下面子文件的屬主爲jack, 又由於chown只能針對已經存在的文件作屬主更改,把這條命令chown -R jack /public加到jakc用戶的系統環境.bashrc文件裏,jack用戶每次登錄系統對public裏面文件刷一遍屬主權限,此時實現jack用戶對下面全部文件有徹底控制權,但是有一個問題,當jack用戶修改其餘普通用戶好比tom用戶的文件時,屬主會變動成jack,又由於對於普通用戶的反其碼umask=002,普通用戶對本身的文件徹底控制權經過屬組來控制(屬組中只有有本身一我的)
驗證:
linux系統管理屬主、屬組、受權相關
linux系統管理屬主、屬組、受權相關3d

注意在root執行chown -R jack /public時候,tom2這個文件並不存在,因此屬主屬組默認都是本身
linux系統管理屬主、屬組、受權相關
linux系統管理屬主、屬組、受權相關
linux系統管理屬主、屬組、受權相關
linux系統管理屬主、屬組、受權相關linux系統管理屬主、屬組、受權相關
linux系統管理屬主、屬組、受權相關
至此,就經過粘滯位Stickybit實現了公共目錄的管理,同時經過root對jack的chown屬主受權,更改jack的.bahsrc環境j,讓jack成爲公共目錄的主人,可是jack此時存在chown權限過限的風險,jack對其餘全部目錄也有chown更改屬主的權限,這是visudo受權沒法避免出現的問題,只能經過法律與道德進行約束,也能夠經過root更改目錄屬主爲jack,不經過受權jack方式,而後經過腳本,檢測只要jack一登陸root就去執行,這樣經過技術就能夠解決權限過分問題。blog

相關文章
相關標籤/搜索