特殊權限SGID和sticky配合使用實現文件夾和文件權限的結構化管理

舉例說明特殊權限SGID和sticky配合使用能實現文件夾和文件權限的結構化管理

特殊權限SGID有兩個作用域,文件和目錄:

當作用于文件時,繼承二進制程序所有組的權限,這種權限相當危險,一定要慎用。如給/bin/vim加SGID權限,普通用戶可以直接修改/etc/shadow,更新所有用戶包括root的密碼。例子如下:

  1. 查看/bin/vim默認權限ll /bin/vim;-rwxr-xr-x. 1 root root 2289640 Aug ?2 ?2017 /bin/vim
  2. 切換到普通用戶,執行vim /etc/shadow;無法顯示文件內容,并且有告警信息[Permission Denied]
  3. 給/bin/vim加SGID權限,chmod g+s /bin/vim
  4. 查看/bin/vim權限,-rwxr-sr-x. 1 root root 2289640 Aug ?2 ?2017 /bin/vim
  5. 再次切換到普通用戶,執行vim /etc/shadow,可以更改文件內容。

當作用于目錄時,此目錄新建的文件繼承目錄的所屬組,可以用于創建一個協作組,配合sticky權限(具有寫權限的目錄,只有文件的所有者或root可以刪除該文件。

 

需求:operation部門的所有員工能訪問并修改彼此的文件,但是只能刪除自已創建的文件

具體實現步驟:(前提root umask為0022,普通用戶為0002)

  1. 用root創建operation組:groupadd operation
  2. 用root創建部門員工如: useradd user1; useradd user2并設置user1和user2的登陸密碼
  3. 用root在/home下創建目錄oper: mkdir operation
  4. 用root給oper目錄加SGID和sticky權限,chmod 3777 operation
  5. 更改用戶user1和user2的輔助組為operation

groupmems -a user1 -g operation

groupmems -a user2 -g operation

  1. 切換到user1用戶,進入/home/oper目錄,創建文件user1_file1,查看文件屬性

-rw-rw-r–. 1 user1 operation 12 Apr ?5 11:56 user1_file1

  1. 切換到user2用戶,進入/home/oper目錄,創建文件user2_file1,查看文件屬性

-rw-rw-r–. 1 user2 operation ?0 Apr ?5 12:16 user2_file1

  1. 在user2用戶登陸下,用vim更改用戶user1創建的文件user1_file1,添加新的內容成功
  2. 在user2用戶登陸下,刪除用戶user1創建的文件user1_file1, rm -f user1_file1失敗并提示操作不允許

rm: cannot remove ‘user1_file1’: Operation not permitted

  1. 同樣用user1登陸去操作user2創建的文件user2_file1,結果和上述相同

上述的管理可以進一步優化,思路:operation部門下的所有員工可以在/home/oper下建立各自以用戶名命名的文件夾,所有的文件夾會繼承oper目錄的屬組即operation組:

  1. 以user1用戶登陸下,創建user1目錄在/home/oper下,mkdir user1,查看目錄user1的性,所屬組是operation

drwxrwsr-x. 2 user1 operation ?6 Apr ?5 13:43 user1

  1. 以user1用戶登陸下,在/home/oper/user1目錄下創建文件user1_file2
  2. 以user2登陸,進入/home/oper/user1目錄,修改user1創建的文件user1_file2成功,但是由于目錄user1是無法繼承oper的sticky位特殊權限,所以user2是可以刪除user1目錄下的user1_file2文件。解決方案,在root下把sticky位權限賦予user1目錄,chmod o+t user1,檢查user1的屬性

drwxrwsr-t.?2 user1 operation 25 Apr ?5 13:47 user1

此時以user2登陸刪除user1目錄下以user1用戶創建的文件是無法刪除的

rm -f user1_file2

rm: cannot remove ‘user1_file2’: Operation not permitted

同理,以user2登陸也無法刪除user1文件夾。

最終,通過特殊權限SGID和sticky配合使用,實現了需求:operation部門的所有員工能訪問并修改彼此的文件,但是只能刪除自已創建的文件,同時引入每個員工創建一個目錄,并賦予這些目錄是sticky位的特殊權限,實現了更清晰的結構化管理。

總結,三種特殊權限SUID、SGID以及sticky位權限雖然在實際工作中并不經常用到,但是深入理解它的工作原理對我們處理其它程序或應用中的權限管理提供一種思路,畢竟Linux是一切程序和應用運行的基礎。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95546

(0)
Evan LiangEvan Liang
上一篇 2018-04-08
下一篇 2018-04-08

相關推薦

  • liunx基礎命令

    alias:查看命令別名(別名只針對用戶有效) alias h=hostname(定義別名) cdnet=‘cd /etc/sysconfig/network-scripts/’(帶參數命令的要帶單引號) 想長久生效修改.bashrc文件(root為/root/.bashrc,全部用戶為/etc/bashrc,其他/home/user/.bashrc) un…

    Linux筆記 2018-04-08
  • 1

           

    Linux筆記 2018-04-07
  • 圖文表述find指令參數的用法以及tar指令的批量用法

    結合圖像形象化的解釋find指令find –maxdepth -mindepth, find -size以及tar指令的批量用法

    2018-04-15
  • N30-Listen學習匯總

    1.描述計算機的組成及其功能 計算機由CPU,存儲器,I/O設備等部件組成計算機,每一部件分別按要求執行特定的基本功能。 ? ? CPU包含運算器、控制器以及寄存器,其中運算器主要是對數據進行各種運算;而控制器是整個計算機系統的控制中心,負責指揮計算機各部分協調地工作,保證計算機按照預先規定的目標和步驟有條不紊地進行操作及處理;寄存器則用來保存指令執行過程中…

    2018-05-13
  • zabbix監控系統

    zabixx zabbix(音同 zæbix)是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。 zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。 zabbix由2部分構成,zabbix server與可選組件zabbix agent。 zab…

    2018-07-22
  • 粗談用戶和用戶組相關配置文件

    創建一個用戶時,用戶會根據系統配置文件來創建用戶。配置文件在/etc/login.defs文件里 login.defs //創建賬戶自動分配參數 PASS_MAX_DAYS //可以使用密碼的最大天數。 PASS_MIN_DAYS //密碼更改之間允許的最短天數 PASS_MIN_LEN //最小可接受的密碼長度 PASS_WARN_AGE //密碼過期前發…

    Linux筆記 2018-04-08
欧美性久久久久