【好記性不如爛筆頭】linux權限管理之特殊權限

前言

接着上篇文章基本權限,這篇文章帶你瞭解特殊權限。合理分配權限,真的很重要。學會修改文件權限,再也不用擔心自己的小電影被發現了,啊呸。呵呵,套你猴子的,你這個悶騷男,我是來學習知識的,不是來get番號的。嘴上說不要,身體很誠實。八連殺,好強大,我要我要我還要,編不下去了,噁心到自己了…

正文

通過目錄你可以get到哪些知識

目錄

  • 文件ACL權限
  • 文件特殊權限
  • 文件不可改變位權限
  • 文件sudo權限

文件ACL權限
首先查看分區ACL權限是否開啓

ACL權限

注意:在centos7中,如果你的系統分區格式是xfs,請用xfs_growfs命令,不確定系統分區格式,如下圖查看:

df 查看系統分區
在這裏插入圖片描述

  • dumpe2fs -h /dev/sda1,查詢指定分區詳細文件系統信息的命令
  • -h,僅顯示超級塊中信息,而不顯示磁盤塊組的詳細信息
  • mount -o remount,acl /dev/sda5,重新掛在根分區,並掛載acl權限
  • 修改fstab文件永久生效,vim /etc/fstab,修改時請注意這個文件會影響系統的啓動
    在這裏插入圖片描述

設置ACL權限,setfacl 【選項】文件

  • -m,設置ACL權限
  • -x,刪除指定的ACL權限
  • -b,刪除所有的ACL權限
  • -d,設置默認的ACL權限
  • -k,刪除默認的ACL權限
  • -R,遞歸設置ACL權限

遞歸權限針對目錄,不對文件有效

設置ACL權限,setfacl -m 文件:

  • u:用戶名:權限 文件名,爲用戶分配ACL權限
  • g:組名:權限 文件名,爲組分配ACL權限
  • 例如:setfacl -m u:sky:rx /home/av,賦予sky這個用戶讀和執行的權限,av代表目錄

查詢ACL權限,getfacl【選項】文件

  • 有設置,當然也有查詢。通過getacl av,查看av目錄的ACL權限

mask, 用來指定最大有效權限。如果給用戶賦予ACL權限,是需要與mask的權限做“相與”邏輯運算才能得到用戶的真正權限。

刪除指定用戶ACL權限。例如,bols波老師代表文件名

  • 刪除指定用戶的,setfacl -x u:sky bols
  • 刪除指定組的,setfacl -x g:sky bols

刪除所有ACL權限,例如

  • setfacl -b 文件名,刪除這個文件所有ACL權限

設置默認ACL權限

  • 例如:setfacl -m d:u:sky:rx -R /home/av,如果給av這個父目錄下所有子文件賦予了讀和執行默認的ACL權限,之前新建的是不會生效的,針對賦予權限之後新建的文件

刪除默認ACL權限

  • 例如:setfacl -m d:u:sky:rx -R /home/av,刪除av這個目錄下所有文件和子目錄的默認ACL權限

遞歸ACL權限,遞歸是父目錄在設定ACL權限時,所有的子文件和子目錄也會擁有相同的ACL權限,這時設定的是針對已經存在的文件。

  • u:用戶名:權限 文件名,爲用戶分配ACL權限
  • 例如:setfacl -m u:sky:rx -R /home/av,賦予sky這個用戶讀和執行的權限,av目錄下所有文件都賦予了讀和執行的權限。儘量少用遞歸ACL權限,會造成權限溢出

文件不可改變位權限

chattr命令 [+ - =]【選項】文件或目錄名

  • +:增加權限
  • -:刪除權限
  • =:等於某權限

最常用的是-i-a

  • -i:文件不可刪,不可修改。如果對文件設置i屬性,那麼不允許對文件進行刪除、改名,也不能添加和修改數據;如果對目錄設置i屬性,那麼只能修改目錄下文件的數據,但不允許建立或刪除文件。

    例如:此時對bols文件進行了賦予chattr +i bols屬性命令。使用lsattr命令查看你會發現多了i屬性,而且不能對其進行刪除如下圖:
    在這裏插入圖片描述
    設置了+i屬性,不讓刪除
    在這裏插入圖片描述

  • -a:文件不可刪,可修改。如果對文件設置a屬性,那麼只能在文件中增加數據,但不能刪除和修改數據;如果對目錄設置a屬性,那麼只允許在目錄中建立和修改文件,但不允許刪除文件。

    例如:此時對bols文件進行了賦予chattr +a bols屬性命令,也可以用lsattr命令查看發現多了a屬性如下圖:
    在這裏插入圖片描述
    設置+a屬性了,也是不讓刪除的
    在這裏插入圖片描述

注意:使用vi進行修改是行不通的,系統不好判斷是修改還是新增。但使用echo >> av /home/user1/bols重定向輸出是可行的。

文件特殊權限

通過觀看學習視頻,總結了下,大致的把文件特殊權限分爲這三個:suid(SetUID),sgid(SetGID),sbit(Sticky BIT)。

首選來了解下suid,下面我就採用簡寫了。

  • 只有可執行的二進制程序才能設定suid權限。
  • 命令執行者要對該程序擁有X(執行)權限。
  • 命令執行者在執行該程序時獲得該程序文件屬組的身份(在執行程序的過程中靈魂附體爲文件是屬組)。
  • suid權限只在該程序執行過程中有效,身份改變只在程序執行過程中生效。

passwd命令擁有suid權限,所以普通用戶可以修改自己的密碼

cat命令沒有suid權限,普通用戶不能查看/etc/shadow文件中的類容

設定suid的方法,4代表suid

  • chmod 4755 文件名
  • chmod u+s 文件名

有設定當然也有對應的取消suid的方法

  • chmod 0755 文件名
  • chmod u-s 文件名

使用suid權限時得慎重,這傢伙也是很危險的。

  • 關鍵目錄應該嚴格控制寫權限。例如:"/","usr"等等
  • 用戶密碼設置嚴格遵守密碼三原則
  • 對系統中默認應該具有suid權限的文件作一列表,定時檢查有沒有以外的文件被設置的suid權限

瞭解了suid權限後,再來了解下sgidSetUID)權限,針對文件的作用

  • 只有可執行的二進制程序才能設定sgid權限。
  • 命令執行者要對該程序擁有X(執行)權限。
  • 在執行程序的時候,組身份升級爲該程序文件的屬組
  • sgid權限一樣也只在該程序執行過程中有效,組身份改變只在程序執行過程中生效。

sgid針對目錄的作用

  • 普通用戶必須對此目錄擁有r(讀)和x(寫)權限,才能進入此目錄
  • 普通用戶在此目錄中的有效組會變成此目錄的屬組
  • 普通用戶對此目錄擁有w(寫)權限時,新建文件的默認屬組是這個目錄的屬組

例如:

  • /usr/bin/locate是可執行二進制程序,可以賦予sgid特使權限
  • 執行用戶lamp對/usr/bin/locate命令擁有執行權限
  • 執行/usr/bin/locate命令時,組身份會升級爲slocate組,而slocate組對/var/lib/mlocate/mlocate.db數據庫擁有r(讀)權限,普通用戶可以使用locate命令查詢mlocate.db數據庫
  • 命令結束時,用戶lamp的組身份返回lamp組

設定sgid,2代表sgid

  • chmod 2755 文件名
  • chmod g+s 文件名

取消sgid

  • chmod 0755 文件名
  • chmod g-s 文件名

瞭解完sgid,就剩下最後的sbit特殊權限了,粘着位作用

  • 粘着位目前只對目錄有效
  • 普通用戶對該目錄擁有w(寫)和x(執行)權限,普通用戶在此目錄擁有寫入權限
  • 如果沒有粘着位,普通用戶擁有w(寫)權限,所以可以刪除此目錄下所有文件,包括其他用戶建立的文件。一旦賦予了粘着位,只有root可以刪除所有文件,普通用戶就算擁有w(寫)權限,也只能刪除自己建立的文件,但不能刪除其他用戶建立的文件。

sudo權限

sudo權限,把原本只能超級用使用的命令對普通用戶賦予權限,操作對象是系統命令。

sudo使用

  • visudo,實際修改的是/etc/sudoers文件
  • root 用戶名 ALL 被管理主機的地址 = (ALL)可使用的身份 ALL 授權命令(絕對路徑)
  • #%wheel #%組名 ALL 被管理主機的地址 = (ALL)可使用的身份 ALL 授權命令(絕對路徑)

例如:授權普通用戶可以重啓服務器

  • visudo,user1 ALL = /sbin/shutdown -r now
  • 注意:命令寫的越簡單,相對而言賦予的權限越大。

例如:普通用戶執行sudo賦予的命令

  • 切換到普通用戶,su - user1
  • sudo -l ,查看可用的sudo命令
  • 普通用戶執行sudo賦予的命令,sudo /sbin/shutdown -r now

例如:授權普通用戶可以添加其他用戶

  • visudo,usr1 ALL = /usr/sbin/useradd,添加用戶
  • usr1 ALL = /usr/bin/passwd,授予用戶設定密碼的權限
  • 設置不能設定root用戶密碼,usr1 ALL = /usr/bin/passwd[A-Za-z]*!/usr/bin/passwd""!/usr/bin/passwd root

尾聲

好了,到此爲止就是此篇文章的全部內容了,能看到這的都是帥哥靚妹啊!!!善於總結,其樂不窮。好記性不如爛筆頭,多收集自己第一次嘗試的成果,收穫也頗豐。你會發現,自己的知識寶庫越來越豐富。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章