Linux用戶權限
在Linux系統(tǒng)中,每個文件都有歸屬的所有者和所屬組,并且規(guī)定了文件的所有者、所屬組以及其他人對文件所擁有的可讀(r)、可寫(w)、可執(zhí)行(x)等權限。對于一般文件來說,權限比較容易理解:“可讀”表示能夠讀取文件的實際內(nèi)容;“可寫”表示能夠編輯、新增、修改、刪除文件的實際內(nèi)容;“可執(zhí)行”則表示能夠運行一個腳本程序。對于目錄文件來說,“可讀”表示能夠讀取目錄內(nèi)的文件列表;“可寫”表示能夠在目錄內(nèi)新增、刪除、重命名文件;而“可執(zhí)行”則表示能夠進入該目錄。
可讀、可寫、可執(zhí)行權限對應的命令在文件和目錄上是有區(qū)別的,具體可參考表
文件的可讀、可寫、可執(zhí)行權限的英文全稱分別是read、write、execute,可以簡寫為r、w、x,亦可分別用數(shù)字4、2、1來表示,文件所有者、文件所屬組及其他用戶權限之間無關聯(lián),如表所示
文件權限的數(shù)字表示法基于字符(rwx)的權限計算而來,其目的是簡化權限的表示方式。例如,若某個文件的權限為7,則代表可讀、可寫、可執(zhí)行(4+2+1);若權限為6,則代表可讀、可寫(4+2)。
文件的類型、訪問權限、所有者(屬主)、所屬組(屬組)、占用的磁盤大小、最后修改時間和文件名稱等信息。通過分析可知,該文件的類型為普通文件,所有者權限為可讀、可寫(rw-),所屬組權限為可讀(r--),除此以外的其他人也只有可讀權限(r--),文件的磁盤占用大小及最近修改時間。
chmod命令用于設置文件的一般權限及特殊權限,英文全稱為“change mode”,語法格式為“chmod [參數(shù)] 文件名”。是一個與文件權限的日常設置強相關的命令
chown命令用于設置文件的所有者和所有組,英文全稱為change own,語法格式為“chown所有者:所有組 文件名”
chmod和chown命令是用于修改文件屬性和權限的最常用命令,它們還有一個特別的共性,就是針對目錄進行操作時需要加上大寫參數(shù)-R來表示遞歸操作,即對目錄內(nèi)所有的文件進行整體操作。
文件訪問控制列表ACL
一般權限、特殊權限、隱藏權限其實有一個共性—權限是針對某一類用戶設置的,能夠?qū)芏嗳送瑫r生效。如果希望對某個指定的用戶進行單獨的權限控制,就需要用到文件的訪問控制列表(ACL)了。通俗來講,基于普通文件或目錄設置ACL其實就是針對指定的用戶或用戶組設置文件或目錄的操作權限,更加精準地派發(fā)權限。另外,如果針對某個目錄設置了ACL,則目錄中的文件會繼承其ACL權限;若針對文件設置了ACL,則文件不再繼承其所在目錄的ACL權限
setfacl命令
setfacl命令用于管理文件的ACL權限規(guī)則,英文全稱為“set files ACL”,語法格式為“setfacl [參數(shù)] 文件名稱”
ACL權限提供的是在所有者、所屬組、其他人的讀/寫/執(zhí)行權限之外的特殊權限控制。使用setfacl命令可以針對單一用戶或用戶組、單一文件或目錄來進行讀/寫/執(zhí)行權限的控制。其中,針對目錄文件需要使用-R遞歸參數(shù);針對普通文件則使用-m參數(shù);如果想要刪除某個文件的ACL,則可以使用-b參數(shù)
參數(shù)
作用
-m
修改權限
-M
從文件中讀取權限
-x
刪除某個權限
-b
刪除全部權限
-R
遞歸子目錄
getfacl命令
getfacl命令用于查看文件的ACL權限規(guī)則,英文全稱為“get files ACL”,語法格式為“getfacl [參數(shù)] 文件名稱”。想要設置ACL,用的是setfacl命令;要想查看ACL,則用的是getfacl命令。
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。