acl權限

ACL權限 

 

引言html

前面的內容中,咱們講到傳統的權限僅有三種身份(owner,group,others)搭配三種權限(r,w,x)以及三種特殊的權限(SUID,SGID,SBIT),隨着應用的發展,這些權限組合已不能適應如今複雜的文件系統權限控制要求。linux

例如,目錄data的權限爲:drwxr-x—,全部者與所屬組均爲root,在不改變全部者和所屬組的前提下,要求用戶yufei對該目錄有徹底訪問權限(rwx),但又不能讓其餘有用徹底權限(rwx)。這個要求看似不能實現,這就看出來傳統的權限管理設置有時候也會力不從心。爲了解決這樣的問題,Linux開發出了一套新的文件系統權限管理方法,叫文件訪問控制列表ACL(Access Control Lists)。這時候,咱們就可能經過ACL來實現。windows

 

什麼是ACL安全

ACL是Access Control List的縮寫,主要的目的是在提供傳統的owner,group,others的read,write,execute權限以外的局部權限設定。ACL能夠針對單個用戶,單個文件或目錄來進行r,w,x的權限設定,特別適用於須要特殊權限的使用狀況。ide

ACL主要針對用戶(user)、用戶組(group)、以及掩碼(mask)方面來控制權限。ui

簡單地來講,ACL就是能夠設置特定用戶或用戶組對於一個文件/目錄的操做權限。操作系統

而在windows系統上,沒有這個ACL,ACL是類Unix(Unix-like)操做系統權限的額外支持項目,所以要使用ACL必需要有文件系統的支持才行。主要包括ReiserFS, EXT2/EXT3/ext4, JFS, XFS等文件系統。翻譯

 

查看系統是否支持ACL日誌

要查看你的系統是否是支持ACL,咱們能夠經過下面的方法來查看。code

[root@yufei ~]# df

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda1             15118728   2442140  11908588  18% /

[root@yufei ~]# dumpe2fs /dev/sda1 |grep acl

dumpe2fs 1.41.12 (17-May-2010)+`-

Default mount options:    user_xattr acl

咱們看到,默認的掛載選項就已經有了ACL了,若是你的系統掛載時候沒有這個選項,你能夠經過

mount -o remount,acl /dev/sda1

來從新掛載。你也能夠把這個掛載選項加入到開機啓動,也就是寫入到/etc/fatab文件裏面。

 

ACL權限的查看與設置(getfacl, setfacl)

知道了ACL的意義了,也知道了系統是否支持ACL,那麼下面就是如何來設定/使用這個ACL呢?

getfacl:查看文件/目錄的ACL設定內容

setfacl:設置文件/目錄的ACL內容

 

相關參數說明

先來看看setfacl這個命令的相關參數說明

語法:setfacl [-bkRd] [{-m|-x} acl參數] 文件名

-m :設置後續的acl參數

-x :刪除後續的acl參數

-b :刪除全部的ACL設定參數

-R :遞歸設置acl參數

-d :設置預設的acl參數(只對目錄有效,在該目錄新建的文件也會使用此ACL默認值)

-k :刪除預設的ACL參數

 

設置格式以下

[d[efault]:] u[ser]:uid [:perms]

[d[efault]:] g[roup]:gid [:perms]

[d[efault]:] m[ask][:] [:perms]

[d[efault]:] o[ther][:] [:perms]

以上的參數和設置格式說明,能夠在MAN中查看到

 

針對其餘人的ACL設置

下面咱們就用例子來演示一下ACL的設置與查看

咱們在/root目錄下進行操做

先查看install.log文件的ACL設置值是什麼

[root@yufei ~]# getfacl install.log

# file: install.log

# owner: root

# group: yufei

user::rwx

group::r–

other::r–

[root@yufei ~]# ls -l install.log

-rwxr–r–. 1 root yufei 31537 Jan 20 05:09 install.log

我想經過上面的對比,你們應該能看明白getfacl所顯示出來的內容吧!OK,這裏我就很少說了,下面咱們來看看給這個文件設置ACL值後的效果。

[root@yufei ~]# setfacl -m o:rwx install.log

[root@yufei ~]# getfacl install.log

# file: install.log

# owner: root

# group: yufei

user::rwx

group::r–

other::rwx

[root@yufei ~]# ls -l install.log

-rwxr–rwx. 1 root yufei 31537 Jan 20 05:09 install.log

這時候,我對other賦予了rwx權限了,咱們切換到其餘用戶,就能夠對此文件進行寫操做了。你們可能也發現了,經過setfacl設置的other權限,和經過chmod設置的效果是同樣的。沒錯,是這樣的。

 

針對用戶的ACL設置

把install.log拷貝到根目錄,

[root@yufei ~]# cp install.log /

[root@yufei ~]# ls -l /install.log

-rwxr-xr– 1 root root 31537 Feb  9 16:27 /install.log

咱們經過ACL給yufei用戶賦予rwx權限

[root@yufei ~]# setfacl -m u:yufei:rwx /install.log

[root@yufei ~]# getfacl /install.log

getfacl: Removing leading ‘/’ from absolute path names

# file: install.log

# owner: root

# group: root

user::rwx

user:yufei:rwx

group::r-x

mask::rwx

other::r–

[root@yufei ~]# ls -l /install.log

-rwxrwxr–+ 1 root root 31537 Feb  9 16:27 /install.log

這時候,經過ls -l查看的文件權限後面多了一個「+」號,這就表示了文件存在ACL權限。咱們切換到yufei用戶,來對此文件進行一下編輯操做是徹底沒有問題,這裏面就不演示了,本身動手吧。

 

注:

一、上面的用戶能夠換成用戶列表,中間用英文的「,」分隔就OK了。

二、針對用戶組的ACL設置與用戶的設置差很少,這裏就不演示了。

 

刪除ACL的設置

要是刪除咱們設置的ACL權限的話,要怎麼作呢?有兩種方法

 

一、用-x刪除後面接着的ACL權限

[root@yufei ~]# setfacl -x u:yufei /install.log

[root@yufei ~]# getfacl /install.log

getfacl: Removing leading ‘/’ from absolute path names

# file: install.log

# owner: root

# group: root

user::rwx

group::r-x

mask::r-x

other::r–

這時候發現還有個mask的權限沒有去掉,

[root@yufei ~]# setfacl -x m:: /install.log

[root@yufei ~]# getfacl /install.log

getfacl: Removing leading ‘/’ from absolute path names

# file: install.log

# owner: root

# group: root

user::rwx

group::r-x

other::r–

 

通過了上面的操做纔算把權限還原了,實在有點不方便,並且在使用-x的時候,不能單獨刪除某個權限。不然會出現錯誤提示。如setfacl -x u:yufei:rwx /install.log,這們的命令是不能夠的,不知道是我哪裏用錯了,仍是這個命令就是這樣。仍是用下面這種方法來提直接。

 

二、用-b刪除全部的ACL權限

[root@yufei ~]# setfacl -m u:yufei:rwx /install.log

[root@yufei ~]# getfacl /install.log

getfacl: Removing leading ‘/’ from absolute path names

# file: install.log

# owner: root

# group: root

user::rwx

user:yufei:rwx

group::r-x

mask::rwx

other::r–

 

[root@yufei ~]# setfacl -b /install.log

[root@yufei ~]# getfacl /install.log

getfacl: Removing leading ‘/’ from absolute path names

# file: install.log

# owner: root

# group: root

user::rwx

group::r-x

other::r–

這個-b參數,一次性把全部的ACL權限所有清空,還原成文件的原來權限。我推薦你們用這個參數。

 

ACL的mask設置

關於group的設置與user的設置相似,這裏也就不作演示了,下面咱們來看看mask,他的做用就是讓用戶/組對某個文件只有某些權限。mask只對其餘用戶和組的權限有影響,而對owner和other的權限是沒有任何影響的。咱們仍是以/install.log爲例來實驗。

[root@yufei ~]# ls -l /install.log

-rwxr-xr– 1 root root 31537 Feb  9 17:03 /install.log

[root@yufei ~]# setfacl -m u:yufei:rwx /install.log

[root@yufei ~]# getfacl /install.log

getfacl: Removing leading ‘/’ from absolute path names

# file: install.log

# owner: root

# group: root

user::rwx

user:yufei:rwx

group::r-x

mask::rwx

other::r–

這時候咱們看到mask::rwx是所有的權限,因此,切換到yufei這個賬戶的時候,可能對/install.log文件進行寫操做的。下面咱們讓yufei用戶對其只有讀取的權限。

[root@yufei ~]# setfacl -m m::r /install.log

[root@yufei ~]# getfacl /install.log

getfacl: Removing leading ‘/’ from absolute path names

# file: install.log

# owner: root

# group: root

user::rwx

user:yufei:rwx            #effective:r–

group::r-x            #effective:r–

mask::r–

other::r–

咱們能夠看到,user:yufei:rwx的後面多了一個提示#effective:r–,也就是說,如今yufei用戶只擁有r權限了。切換到yufei用戶對/install.log文件進行一下寫操做,會有「–INSERT —W10: Warning: Changing a readonly file 」這樣的提示。

 

 
 
 
關於-d參數的做用我這裏就不贅述了,用法是同樣的,只是他是針對目錄而已,同時也會對裏面後加的文件起做用而已,而-R是咱們一直在用的參數,一個遞歸處理的效果,不少地方都會用到些參數 

1.ACL 權限簡介 與 開啓
2.查看分區ACL權限是否開啓
命令:dumpe2fs -h /dev/sda3
內容   default mount options: user_xattr acl

df -h 查看分區使用狀況

3.臨時開啓分區ACL 權限
mount -o remount,acl 從新掛載根分區,並掛載加入acl權限

4.永久開啓分區acl權限
vi /etc/fstab
uuid=c2 .....   / ext4  defaults,acl  1 1  #加入acl
mount -o remount  /   #從新掛載文件系統或重啓,修改爲功

5.查看acl權限
getfacl 文件名

6.設置acl權限
setfacl 選項 文件名
-m 設定acl權限
-x  刪除指定acl權限
-b 刪除全部的acl權限
-d 設定默認的acl權限
-k 刪除默認的acl權限
-r 遞歸的設定acl權限
setfacl -m u:st:rx /project
setfacl -m g:group2:x /project

----------------------------

語法:setfacl [-bkRd] [{-m|-x} acl參數] 文件名

-m :設置後續的acl參數

-x :刪除後續的acl參數

-b :刪除全部的ACL設定參數

-R :遞歸設置acl參數

-d :設置預設的acl參數(只對目錄有效,在該目錄新建的文件也會使用此ACL默認值)

-k :刪除預設的ACL參數
------------------------------------------------------- 



7.設置最大有效權限mask
setfacl -m m:rw /project

8.刪除acl權限
setfacl -x u:用戶 filename
setfacl -x g:gname filename #刪除指定用戶用戶組的acl權限
setfacl -b filename #刪除文件的全部acl權限

9.遞歸acl權限
setfacl -m u:username:rx -R filename
setfacl -m d:u:用戶:權限 文件名  將來新建的文件也必須遵照acl,只對將來的新建文件
 

文件特殊權限
 linux中除了常見的讀(r)、寫(w)、執行(x)權限之外,還有3個特殊的權限,分別是setuid、setgid和stick bit

一、setuid、setgid

先看個實例,查看你的/usr/bin/passwd 與/etc/passwd文件的權限

        [root@MyLinux ~]# ls -l /usr/bin/passwd /etc/passwd
        -rw-r--r-- 1 root root 1549 08-19 13:54 /etc/passwd

-rwsr-xr-x 1 root root 22984 2007-01-07 /usr/bin/passwd 

衆所周知,/etc/passwd文件存放的各個用戶的帳號與密碼信息,/usr/bin/passwd是執行修改和查看此文件的程序,但從權限上看,/etc/passwd僅有root權限的寫(w)權,可實際上每一個用戶均可以經過/usr/bin/passwd命令去修改這個文件,因而這裏就涉及了linux裏的特殊權限setuid,正如-rwsr-xr-x中的s

setuid就是:讓普通用戶擁有能夠執行「只有root權限才能執行」的特殊權限,setgid同理指」組「

做爲普通用戶是沒有權限修改/etc/passwd文件的,但給/usr/bin/passwd以setuid權限後,普通用戶就能夠經過執行passwd命令,臨時的擁有root權限,去修改/etc/passwd文件了 

 

 

 二、stick bit (粘貼位)

再看個實例,查看你的/tmp目錄的權限

[root@MyLinux ~]# ls -dl /tmp
drwxrwxrwt 6 root root 4096 08-22 11:37 /tmp

 tmp目錄是全部用戶共有的臨時文件夾,全部用戶都擁有讀寫權限,這就必然出現一個問題,A用戶在/tmp裏建立了文件a.file,此時B用戶看了不爽,在/tmp裏把它給刪了(由於擁有讀寫權限),那確定是不行的。其實是不會發生這種狀況,由於有特殊權限stick bit(粘貼位)權限,正如drwxrwxrwt中的最後一個t

stick bit (粘貼位)就是:除非目錄的屬主和root用戶有權限刪除它,除此以外其它用戶不能刪除和修改這個目錄。

也就是說,在/tmp目錄中,只有文件的擁有者和root才能對其進行修改和刪除,其餘用戶則不行,避免了上面所說的問題產生。用途通常是把一個文件夾的的權限都打開,而後來共享文件,象/tmp目錄同樣。

三、如何設置以上特殊權限
      setuid:chmod u+s xxx

setgid: chmod g+s xxx

stick bit : chmod o+t xxx

或者使用八進制方式,在原先的數字前加一個數字,三個權限所表明的進制數與通常權限的方式相似,以下:

suid   guid    stick bit

  1        1          1

因此:suid的二進制串爲:100,換算十進制爲:4

guid的二進制串爲:010,換算:2

stick bit 二進制串:001,換算:1

因而也能夠這樣設:setuid:chmod 4755 xxx

setgid:chmod 2755 xxx

stick bit:chmod 1755 xxx

最後,在一些文件設置了特殊權限後,字母不是小寫的s或者t,而是大寫的S和T,那表明此文件的特殊權限沒有生效,是由於你還沒有給它對應用戶的x權限  




10.SetUID(4)

只有二進制可執行程序才能設定SUID權限[S權限],命令執行者需對該文件有X權限
s權限是指當命令執行時給予運行文件以讀寫修改權限 
例如:passwd  普通用戶可修改/etc/shadow 文件
           而cat 普通用戶卻不能夠
設定suid :  chmod 4755 filename
                   chmod u+s filename

11.setGID(2)
                chmod 2755 filename 給組設定s權限
                chomod g+s dir
    11.1 針對可執行二進制文件
    只有二進制可執行程序才能設定SGID權限[S權限],命令執行者需對該文件有X權限
    例子:locate
                whereis locate
                ll /usr/bin/locate  #查看文件權限
                -rwx--s--x
    解說上述列子:/usr/bin/locate 可執行的二進制程序 可賦予GUID,命令結束恢復自身的組權限
    11.2 針對目錄的做用
    @ 普通用戶需對該目錄有rx權限
    @ 由root切換成普通用戶在該目錄下新建文件的組默認屬性應該是該目錄的屬性

12.sticky bit(1)
                chmod 1755 dir  給其餘設定s權限
                chmod o+t dir
                
                chmod o-t dir
    sbit粘着位做用:
            @只對有wx權限的目錄起做用 :普通用戶能夠在此目錄下擁有寫入權限
            @ 無粘着位,普通用戶有W權限,能夠刪除目錄下的全部文件,包括其餘用戶建的文件,一旦有粘着位,只有root用戶能夠刪除全部文件,普通用戶即便有W權限也沒法刪除文件,只能刪除本身創建的文件
            

//chmod 7755 filename 給用戶用戶組其餘都設定s權限(無任何意義)

     

文件系統屬性chattr權限   

Linux文件系統的隱藏權限:chattr lsattr(journal)  
經過chattr設置檔案的隱藏權限。

經過lsattr顯示檔案的隱藏權限。
chattr   [+-=]   [ASacdistu]   [文件或目錄名稱]
參數說明:
+-=:分別是"+"(增長)、"-"(減小)、"="(設定)屬性
A:當設定了屬性A,這個文件(或目錄)的存取時間atime(access)將不可被修改,可避免諸如手提電腦容易產生磁盤I/O錯誤的狀況;
S:這個功能有點相似sync,是將數據同步寫入磁盤中,能夠有效避免數據流失;
a:設定a後,這個文件將只能增長數據而不能刪除,只有root才能設定這個屬性;
c:設定這個屬性後,將會自動將此文件壓縮,在讀取時自動解壓縮。可是在存儲的時候,會現進行壓縮在存儲(對於大文件頗有用);
d:當dump(備份)程序執行時,設定d屬性將可以使該文件(或目錄)具備dump功效;
i:這個參數可讓一個文件」不能被刪除、改名、設定連接,也沒法寫入數據,對於系統安全有很大的助益
j:當使用ext3文件系統格式時,設定j屬性將使文件在寫入時先記錄在日誌中,可是當filesystem設定參數爲data=journalled時,因爲已經設定了日誌,因此這個屬性無效
s:當文件設定了s參數時,它會被徹底移出這個硬盤空間
u:與s相反,當使用u配置文件時,數據內容其實還能夠存在於磁盤中,能夠用來取消刪除

示例:
chattr   +i   /etc/shadow    //該文件沒法更動了
chattr   -i   /etc/shadow   //解除該屬性
  這個指令比較重要,尤爲是在系統的安全方面。因爲這些屬性是隱藏性質,因此須要使用lsattr才能看到這些屬性。
  
lsattr   [-aR]
參數說明:
-a   :將隱藏文件的屬性也顯示出來
-R   :連同子目錄的數據一併顯示出來
 
j  :當使用 ext3 這個檔案系統格式時,設定 j 屬性將會使檔案在寫入時先記錄在 journal 中! 
    可是當 filesystem 設定參數爲 data=journalled 時,因爲已經設定了日誌了,因此這個屬性無效! 
 
若是一個文件設置了 ’j'屬性,那麼它全部的數據在寫入文件自己以前,寫入到ext3文件系統日誌中,若是該文件系統掛載的時候使用了"data=ordered" 或"data=writeback"選項。
當文件系統採用"data=journal"選項掛載時,全部文件數據已經記錄日誌,所以這個屬性不起做用。
 
僅僅超級用戶或者擁有CAP_SYS_RESOURCE能力的進程能夠設置和刪除該屬性。
 
 
             chattr的命令是在一次很偶然的狀況下發現的,當時發現我不能刪除一個文件,不管使用什麼方法,使用什麼用戶,都沒法刪除,給出的提示是:
rm: cannot remove `chattr.man': Operation not permitted

後來才知道是chattr的搞的鬼。今天在看《Advanced Bash-ScriptingGuide》一書中又提到了chattr命令,並給出了一些以前沒看到過的參數,所以man了一把chattr,參數還很多,翻譯是對命令解釋的精讀,所以我就嘗試翻譯一下吧。

名字:
       chattr - 在EXT2文件系統上改變文件屬性(EXT3一樣適應,譯者注)

摘要:
       chattr [ -RV ] [ -v version ] [ mode ] files...

描述:
       chattr 改變EXT2文件系統上的一個文件的屬性

       參數符號格式是:+-=[ASacDdIijsTtu].

       操做符  '+'  表示將選中的屬性增長到指定的文件上; '-' 則表示刪除該屬性; 
       '=' 表示文件僅僅設置如今選擇的屬性(以前設置的屬性所有移除,譯者注)

       字母 'acdijsuADST' 分別表示下面的屬性:
     僅追加(a), 壓縮 (c), 不dump (d),不可更改  (i), 數據日誌 (j), 安全刪除 (s), 非尾部合併(t), 不可刪除 (u), 不更新atime (A), 同步目錄更新 (D),同步更新 (S), and top of directoryhierarchy (T).

選項:
       -R     遞歸改變目錄和目錄的內容.  符號連接遞歸時不進入。

       -V     冗餘命令輸出和打印程序版本

       -v version
        設置文件的版本(代)號

屬性解釋:
       當訪問一個設置了 ‘A' 屬性的文件時,atime記錄並不修改。這能夠在筆記本上避免大量的磁盤I/O操做(特地指出筆記本,是考慮省電?譯者注).

       若是文件設置了 ‘a’ 屬性,數據只能採用追加模式,僅僅超級用戶或者擁有CAP_LINUX_IMMUTABLE能力的進程能夠設置和刪除該屬性。

       若是文件設置了 ‘c’ 屬性, 那麼當這個文件在進行寫操做時,它將自動被壓縮,而且在讀的時候, 自動解壓.
       在存儲到磁盤時先壓縮數據。
    
       若是一個目錄設置了 ‘D'屬性,任何改變將同步到磁盤;這等價於mount命令中的dirsync選項:同步目錄

       若是一個文件設置了 ‘d’ 屬性,dump(8)運行時,不會備份它(不dump改文件,譯者注)
       
       ‘E’ 屬性目前是一個實驗性質的壓縮選項,用來標記壓縮出現錯誤的文件。目前它還不能使用chattr來設置或者重置,雖然能使用lsattr命令來顯示。
       
       ‘I’ 屬性用在h樹(htree)代碼上,用來標記那些使用hash數隱藏索引的目錄。目前它還不能使用chattr來設置或者重置,雖然能使用lsattr命令來顯示。

        若是一個文件設置了 ‘i' 屬性,那麼這個文件將不能被修改,不能被刪除、重命名、連接該文件、寫數據到文件。僅僅超級用戶或者擁有CAP_LINUX_IMMUTABLE能力的進程能夠設置和刪除該屬性。
    

      若是一個文件設置了 ’j'屬性,那麼它全部的數據在寫入文件自己以前,寫入到ext3文件系統日誌中,若是該文件系統掛載的時候使用了"data=ordered" 或"data=writeback"選項。當文件系統採用"data=journal"選項掛載時,全部文件數據已經記錄日誌,所以這個屬性不起做用。僅僅超級用戶或者擁有CAP_SYS_RESOURCE能力的進程能夠設置和刪除該屬性。
    
       設置了 ‘s’ 屬性的文件被刪除時,它所在磁盤上的塊將所有被0填充,這是一個安全屬性。

       當一個設置了 ‘S’ 屬性的文件被修改時,將同步到磁盤;它等價於mount命令的‘sync‘選項。

       若是一個目錄設置了 ‘T’ 屬性,它將被視爲目錄結構的頂極目錄,這是爲了Orlov塊的分配(kernel 2.5.46以上版本使用)
       
       若是一個文件設置了 ‘t’ 屬性,它和其餘文件合併時,該文件的末尾不會有部分塊碎片(爲支持尾部合併的文件系統使用)。
       這對某些程序是必須的,好比LILO,它直接讀取文件系統,可是他並不理解尾部合併文件。
        主意:寫這個文檔的時候,ext2,ext3還不支持尾部合併(tail-merging)
       
       若是文件設置了 ‘u’ 屬性, 那麼當這個文件被刪除後, 這個文件的內容還能夠被恢
復。它容許用戶詢問恢復刪除方式。(目前還不知道如何恢復刪除一個文件,譯者注)
       
       ‘X’ 屬性是一個實驗性的壓縮補丁,用來標記一個能直接訪問的裸內容壓縮文件。目前它還不能使用chattr來設置或者重置,雖然能使用lsattr命令來顯示。
       
       ‘Z’ 屬性是一個實驗性的壓縮補丁,用來標記一個髒的壓縮文件。目前它還不能使用chattr來設置或者重置,雖然能使用lsattr命令來顯示。
 

[root@roth-01 ~]# chattr +j /mnt/gfs2/gfs2_dir/newfile [root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir ---------j--- /mnt/gfs2/gfs2_dir/newfile

 
[root@roth-01 ~]#  chattr -j /mnt/gfs2/gfs2_dir/newfile [root@roth-01 ~]#  lsattr /mnt/gfs2/gfs2_dir ------------- /mnt/gfs2/gfs2_dir/newfile
 
[root@roth-01 ~]#  chattr -j /mnt/gfs2/gfs2_dir [root@roth-01 ~]#  lsattr /mnt/gfs2 ---------j--- /mnt/gfs2/gfs2_dir [root@roth-01 ~]#  touch /mnt/gfs2/gfs2_dir/newfile [root@roth-01 ~]#  lsattr /mnt/gfs2/gfs2_dir ---------j--- /mnt/gfs2/gfs2_dir/newfile http://docs.redhat.com/docs/zh-CN/Red_Hat_Enterprise_Linux/5/html/Global_File_System_2/s1-manage-data-journal.html四、更改下列文件權限,使任何人沒有更改帳戶權限: 

chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow   

 
1.chattr [+-=] 選項  文件/目錄
+增長權限
-刪除權限
=賦予權限
        選項:
                i:對文件:不能添加修改內容,更名和刪除
                  對目錄: 可修改目錄下文件數據,可是不能新建和刪除文件
               a: 對文件:只能新增內容,可是不能刪除和修改數據,只能用追加的方式  echo "hua " >> /hua
                   對目錄: 可修改和新增文件,但不容許刪除
 2.lsattr 查看文件系統屬性
    lsattr 選項 文件名
                -a 全部文件和目錄
                -d 目錄 

sudo權限
 1.sudo 把原本只能超級用戶執行的命令賦予普通用戶,操做對象時系統命令   2.visudo//實際上修改的是/etc/sudoers文件     root ALL=(ALL) ALL      用戶名 被管理的主機地址=(可以使用的身份) 受權命令(絕對地址)     #%wheel ALL =(ALL) ALL     #%組名 被管理的主機地址=(可以使用的身份) 受權命令(絕對地址)     例子 sc ALL=/sbin/shutdown -r  #如今/etc/sudoers文件添加這一行 # su - sc #sudo -l //查看可用的sudo 命令 #sudo /sbin/shutdown -r 
相關文章
相關標籤/搜索