




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Linux網絡操作系統項目教程
(RHEL7.4/CentOS7.4)(第3版)人民郵電出版社|楊云主編項目導入職業能力目標和要求理解Linux文件系統結構。能夠進行Linux系統的文件權限管理,熟悉磁盤和文件系統管理工具。掌握Linux系統權限管理的應用。
Linux系統的網絡管理員需要學習Linux文件系統和磁盤管理。尤其對于初學者來說,文件的權限與屬性是學習Linux的一個相當重要的關卡,如果沒有這部分的知識儲備,那么當你遇到“Permissiondeny”的錯誤提示時將會一籌莫展。項目四配置與管理文件系統項目四配置與管理文件系統4.1全面理解文件系統與目錄4.2管理Linux文件權限4.3修改文件與目錄的默認權限和隱藏權限4.4文件訪問控制列表4.5企業實戰與應用4.6項目實錄4.1任務1全面理解文件系統與目錄4.1.1子任務1認識文件系統
文件系統(FileSystem)是磁盤上有特定格式的一片區域,操作系統利用文件系統保存和管理文件。
用戶在硬件存儲設備中執行的文件建立、寫入、讀取、修改、轉存與控制等操作都是依靠文件系統來完成的。文件系統的作用是合理規劃硬盤,以保證用戶正常的使用需求。Linux系統支持數十種的文件系統,而最常見的文件系統如下所示。(2)Ext4:Ext3的改進版本,作為RHEL6系統中的默認文件管理系統,它支持的存儲容量高達1EB(1EB=1
073
741
824GB),且能夠有無限多的子目錄。另外,Ext4文件系統能夠批量分配block塊,從而極大地提高了讀寫效率。(3)XFS:是一種高性能的日志文件系統,而且是RHEL7中默認的文件管理系統。它的優勢在發生意外宕機后顯得尤其明顯,即可以快速地恢復可能被破壞的文件,而且強大的日志功能只用花費極低的計算和存儲性能。它最大可支持的存儲容量為18EB,這幾乎滿足了所有需求。RHEL7系統中一個比較大的變化就是使用了XFS作為文件系統,XFS文件系統可支持高達18EB的存儲容量。(1)Ext3:是一款日志文件系統,能夠在系統異常宕機時避免文件系統資料丟失,并能自動修復數據的不一致與錯誤。然而,當硬盤容量較大時,所需的修復時間也會很長,而且也不能百分之百地保證資料不會丟失。它會把整個磁盤的每個寫入動作的細節都預先記錄下來,以便在發生異常宕機后能回溯追蹤到被中斷的部分,然后嘗試進行修復。日常在硬盤需要保存的數據實在太多了,因此Linux系統中有一個名為superblock的“硬盤地圖”。Linux只是把每個文件的權限與屬性記錄在inode中,而且每個文件占用一個獨立的inode表格。該表格的大小默認為128字節,里面記錄著如下信息。該文件的訪問權限(read、write、execute)。該文件的所有者與所屬組(owner、group)。該文件的大?。╯ize)。該文件的創建或內容修改時間(ctime)。該文件的最后一次訪問時間(atime)。該文件的修改時間(mtime)。文件的特殊權限(SUID、SGID、SBIT)。該文件的真實數據地址(point)。
文件的實際內容則保存在block塊中(大小可以是1KB、2KB或4KB),一個inode的默認大小僅為128B(Ext3),記錄一個block則消耗4B。當文件的inode被寫滿后,Linux系統會自動分配出一個block塊,專門用于像inode那樣記錄其他block塊的信息,這樣把各個block塊的內容串到一起,就能夠讓用戶讀到完整的文件內容了。
對于存儲文件內容的block塊,有下面兩種常見情況(以4KB的block大小為例進行說明)。情況1:文件很小(1KB),但依然會占用一個block,因此會潛在地浪費3KB。情況2:文件很大(5KB),那么會占用兩個block(5KB
4KB后剩下的1KB也要占用一個block)。
計算機系統在發展過程中產生了眾多的文件系統,為了使用戶在讀取或寫入文件時不用關心底層的硬盤結構,Linux內核中的軟件層為用戶程序提供了一個VFS(VirtualFileSystem,虛擬文件系統)接口,這樣用戶實際上在操作文件時就是統一對這個虛擬文件系統進行操作了。圖4-1所示為VFS的架構示意圖。圖4-1VFS的架構示意圖4.1.2子任務2Linux文件系統目錄結構
在Linux系統中,目錄、字符設備、塊設備、套接字、打印機等都被抽象成了文件:Linux系統中一切都是文件。想要找到一個文件,我們要依次進入該文件所在的磁盤分區(假設這里是D盤),然后在進入該分區下的具體目錄,最終找到這個文件。
在Linux系統中并不存在C/D/E/F等盤符,Linux系統中的一切文件都是從“根(/)”目錄開始的,并按照文件系統層次化標準(FilesystemAierarchyStandard,FHS)采用樹形結構來存放文件,以及定義了常見目錄的用途。Linux系統中的文件和目錄名稱是嚴格區分大小寫的。例如,root、rOOt、Root、rooT均代表不同的目錄,并且文件名稱中不得包含斜杠(/)。Linux系統中的文件存儲結構如圖4-2所示。圖4-2Linux系統中的文件存儲結構在Linux系統中,最常見的目錄以及所對應的存放內容如表4-1所示。目錄名稱應放置文件的內容/Linux文件的最上層根目錄/boot開機所需文件—內核、開機菜單以及所需配置文件等/dev以文件形式存放任何設備與接口/etc配置文件/home用戶家目錄/binBinary的縮寫,存放用戶的可運行程序,如ls、cp等,也包含其他shell,如bash和cs等表4-1Linux系統中常見的目錄名稱以及相應內容在Linux系統中,最常見的目錄以及所對應的存放內容如表4-1所示。表4-1Linux系統中常見的目錄名稱以及相應內容/lib開機時用到的函數庫,以及/bin與/sbin下面的命令要調用的函數/sbin開機過程中需要的命令/media用于掛載設備文件的目錄/opt放置第三方的軟件/root系統管理員的家目錄/srv一些網絡服務的數據文件目錄/tmp任何人均可使用的“共享”臨時目錄/proc虛擬文件系統,如系統內核、進程、外部設備及網絡狀態等/usr/local用戶自行安裝的軟件/usr/sbinLinux系統開機時不會使用到的軟件/命令/腳本/usr/share幫助與說明文件,也可放置共享文件/var主要存放經常變化的文件,如日志/lost+found當文件系統發生錯誤時,將一些丟失的文件片段存放在這里4.1.3子任務3理解絕對路徑和相對路徑絕對路徑與相對路徑絕對路徑:由根目錄(/)開始寫起的文件名或目錄名稱,如/home/dmtsai/basher。相對路徑:相對于目前路徑的文件名寫法,如./home/dmtsai或../../home/dmtsai/等。
相對路徑是以當前所在路徑的相對位置來表示的。舉例來說,你目前在/home這個目錄下,如果想要進入/var/log這個目錄時,可以怎么寫呢?有兩種方法。cd/var/log:絕對路徑。cd../var/log:相對路徑。
因為你目前在/home下,所以要回到上—層(../)之后,才能進入/var/log目錄。特別注意兩個特殊的目錄。.:代表當前的目錄,也可以使用./來表示。..:代表上—層目錄,也可以用../來代表。
常常看到的cd..或./command之類的指令表達方式,就是代表上一層與目前所在目錄的工作狀態。4.2任務2管理Linux文件權限
文件是操作系統用來存儲信息的基本結構,是一組信息的集合。文件通過文件名來唯一地標識。Linux中的文件名稱最長可允許255個字符,這些字符可用A~Z、0~9、.、_、-等符號來表示。
與其他操作系統相比,Linux沒有“擴展名”的概念,也就是說文件的名稱和該文件的種類并沒有直接的關聯。它的另一個特性是Linux文件名區分大小寫。
在Linux中的每一個文件或目錄都包含有訪問權限,這些訪問權限決定了誰能訪問和如何訪問這些文件和目錄。通過設定權限可以從以下3種訪問方式限制訪問權限。只允許用戶自己訪問。允許一個預先指定的用戶組中的用戶訪問。允許系統中的任何用戶訪問。4.2.1子任務1理解文件和文件權限
根據賦予權限的不同,3種不同的用戶(所有者、用戶組或其他用戶)能夠訪問不同的目錄或者文件。所有者是創建文件的用戶,文件的所有者能夠授予所在用戶組的其他成員以及系統中除所屬組之外的其他用戶的文件訪問權限。
每一個用戶針對系統中的所有文件都有它自身的讀、寫和執行權限。
第一套權限控制訪問自己的文件權限,即所有者權限。
第二套權限控制用戶組訪問其中一個用戶的文件的權限。
第三套權限控制其他所有用戶訪問一個用戶的文件的權限。
這三套權限賦予用戶不同類型(即所有者、用戶組和其他用戶)的讀、寫及執行權限,就構成了一個有9種類型的權限組。我們可以用“ls-l”或者ll命令顯示文件的詳細信息,其中包括權限。如下所示:[root@RHEL7-1~]#lltotal84drwxr-xr-x 2rootroot4096Aug915:03Desktop-rw-r--r-- 1rootroot1421Aug914:15anaconda-ks.cfg-rw-r--r-- 1rootroot6107Aug914:15install.log.syslogdrwxr-xr-x 2rootroot4096Sep113:54webmin圖4-3文件屬性示意圖4.2.2子任務2詳解文件各種屬性信息1.第1組為文件類型權限
每一行的第一個字符一般用來區分文件的類型,一般取值為d、-、l、b、c、s、p。具體含義如下。d:表示是一個目錄,在ext文件系統中目錄也是一種特殊的文件。-:表示該文件是一個普通的文件。l:表示該文件是一個符號鏈接文件,實際上它指向另一個文件。b、c:分別表示該文件為區塊設備或其他的外圍設備,是特殊類型的文件。s、p:這些文件關系到系統的數據結構和管道,通常很少見到。
每一行的第2~10個字符表示文件的訪問權限。這9個字符每3個為一組,左邊3個字符表示所有者權限,中間3個字符表示與所有者同一組的用戶的權限,右邊3個字符是其他用戶的權限。代表的意義如下。字符2、3、4表示該文件所有者的權限,有時也簡稱為u(User)的權限。字符5、6、7表示該文件所有者所屬組的組成員的權限。例如,此文件擁有者屬于“user”組群,該組群中有6個成員,表示這6個成員都有此處指定的權限。簡稱為g(Group)的權限。字符8、9、10表示該文件所有者所屬組群以外的權限,簡稱為o(Other)的權限。這9個字符根據權限種類的不同,也分為3種類型。r(Read,讀取):對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目錄的權限。w(Write,寫入):對文件而言,具有新增、修改文件內容的權限;對目錄來說,具有刪除、移動目錄內文件的權限。x(execute,執行):對文件而言,具有執行文件的權限;對目錄來說,具有進入目錄的權限。-:表示不具有該項權限。下面舉例說明。brwxr--r--:該文件是塊設備文件,文件所有者具有讀、寫與執行的權限,其他用戶則具有讀取的權限。-rw-rw-r-x:該文件是普通文件,文件所有者與同組用戶對文件具有讀寫的權限,而其他用戶僅具有讀取和執行的權限。drwx--x--x:該文件是目錄文件,目錄所有者具有讀寫與進入目錄的權限,其他用戶能進入該目錄,卻無法讀取任何數據。lrwxrwxrwx:該文件是符號鏈接文件,文件所有者、同組用戶和其他用戶對該文件都具有讀、寫和執行權限。2.第2組表示有多少文件名連結到此節點(i-node)
每個文件都會將其權限與屬性記錄到文件系統的i-node中,不過,我們使用的目錄樹卻是使用文件來記錄,因此每個文件名就會連接到一個i-node。這個屬性記錄的就是有多少不同的文件名連接到相同的一個i-node。3.第3組表示這個文件(或目錄)的擁有者賬號4.第4組表示這個文件的所屬群組
在Linux系統下,你的賬號會附屬于一個或多個的群組中。舉例來說明:class1、class2、class3均屬于projecta這個群組,假設某個文件所屬的群組為projecta,且該文件的權限為(-rwxrwx---),則class1、class2、class33人對于該文件都具有可讀、可寫、可執行的權限(看群組權限)。但如果是不屬于projecta的其他賬號,對于此文件就不具有任何權限了。5.第5組為這個文件的容量大小,默認單位為bytes6.第6組為這個文件的創建日期或者是最近的修改日期
這一欄的內容分別為日期(月/日)及時間。如果這個文件被修改的時間距離現在太久了,那么時間部分會僅顯示年份而已。如果想要顯示完整的時間格式,可以利用ls的選項,即ls-l--full-time就能夠顯示出完整的時間格式了。7.第7組為這個文件的文件名
比較特殊的是:如果文件名之前多一個“.”,則代表這個文件為隱藏文件。請讀者使用ls及ls-a這兩個指令去體驗一下什么是隱藏文件。4.2.3子任務3使用數字表示法修改權限通常在權限修改時可以用兩種方式來表示權限類型:數字表示法和文字表示法。chmod命令的格式是:chmod選項
文件
所謂數字表示法是指將讀?。╮)、寫入(w)和執行(x)分別以數字4、2、1來表示,沒有授予的部分就表示為0,然后再把所授予的權限相加而成。表4-2是幾個示范的例子。原始權限轉換為數字數字表示法rwxrwxr-x(421)(421)(401)775rwxr-xr-x(421)(401)(401)755rw-rw-r--(420)(420)(400)664rw-r--r--(420)(400)(400)644表4-2以數字表示法修改權限的例子1.文字表示法使用權限的文字表示法時,系統用4種字母來表示不同的用戶。u:user,表示所有者。g:group,表示屬組。o:others,表示其他用戶。a:all,表示以上3種用戶。使用下面3種字符的組合表示法設置操作權限。
r:read,可讀。w:write,寫入。x:execute,執行。4.2.4子任務4使用數字表示法修改權限操作符號包括以下幾種。+:添加某種權限。-:減去某種權限。=:賦予給定權限并取消原來的權限。以文字表示法修改文件權限時,上例中的權限設置命令為[root@RHEL7-1~]#chmodu=rw,g=rw,o=r/etc/file修改目錄權限和修改文件權限相同,都是使用chmod命令,但不同的是,要使用通配符“*”來表示目錄中的所有文件。2.利用chmod命令也可以修改文件的特殊權限例如,要設置/etc/file文件的SUID權限的方法如下[root@RHEL7-1~]#ll/etc/file-rw-rw-rw-.1rootroot05月2023:15/etc/file[root@RHEL7-1~]#chmodu+s/etc/file[root@RHEL7-1~]#ll/etc/file-rwSrw-rw-.1rootroot05月2023:15/etc/file特殊權限也可以采用數字表示法。SUID、SGID和sticky權限分別為4、2和1。使用chmod命令設置文件權限時,可以在普通權限的數字前面加上一位數字來表示特殊權限。例如:[root@RHEL7-1~]#chmod6664/etc/file[root@RHEL7-1~]#ll/etc/file-rwSrwSr--1rootroot2211-2711:42file3.使用文字表示法的有趣實例【例4-1】假如我們要“設定”一個文件的權限為-rwxr-xr-x時,所表述的含義如下。user(u):具有可讀、可寫、可執行的權限。group與others(g/o):具有可讀與執行的權限。執行結果如下:[root@RHEL7-1~]#chmodu=rwx,go=rx.bashrc#注意:u=rwx,go=rx是連在一起的,中間并沒有任何空格[root@RHEL7-1~]#ls-al.bashrc-rwxr-xr-x1rootroot395Jul411:45.bashrc【例
4-2】假如設置-rwxr-xr--這樣的權限又該如何操作呢?可以使用“chmodu=rwx,g=rx,o=rfilename”來設定。此外,如果不知道原先的文件屬性,而想增加.bashrc文件的所有人均有寫入的權限,那么可以使用如下命令:[root@RHEL7-1~]#ls-al.bashrc-rwxr-xr-x1rootroot395Jul411:45.bashrc[root@RHEL7-1~]#chmoda+w.bashrc[root@RHEL7-1~]#ls-al.bashrc-rwxrwxrwx1rootroot395Jul411:45.bashrc【例4-3】如果要將權限去掉而不改動其他已存在的權限呢?例如,要去掉所有人的可執行權限,則可以使用如下命令:[root@RHEL7-1~]#chmoda-x.bashrc[root@RHEL7-1~]#ls-al.bashrc-rw-rw-rw-1rootroot395Jul411:45.bashrc特別提示:在+與-的狀態下,只要不是指定的項目,權限是不會變動的。4.2.5子任務5理解權限與指令間的關系權限對于使用者賬號來說非常重要,因為權限可以限制使用者能不能讀取/建立/刪除/修改文件或目錄。11.理解權限與指令間的關系4.3任務3修改文件與目錄的默認權限與隱藏權限
文件權限包括讀(r)、寫(w)、執行(x)等基本權限,決定文件類型的屬性包括目錄(d)、文件(-)、連結符等。修改權限的方法(chgrp,chown,chmod)在前面已經提過。在Linux的ext2/ext3/ext4文件系統下,除基本r、w、x權限外,還可以設定系統隱藏屬性。設置系統隱藏屬性使用chattr命令,而使用lsattr命令可以查看隱藏屬性。另外,基于安全機制方面(security)的考慮,設定文件不可修改的特性,即文件的擁有者也不能修改。4.3.1子任務1理解文件預設權限:umask查閱默認權限的方式有兩種:一是直接輸入umask,可以看到數字形態的權限設定;
二是加入-S(Symbolic)選項,則會以符號類型的方式顯示權限。
目錄與文件的默認權限是不一樣的。我們知道,x權限對于目錄是非常重要的。但是一般文件的建立是不應該有執行的權限。因為一般文件通常是用于數據的記錄,當然不需要執行的權限。因此,預設的情況如下。若使用者建立文件,則預設沒有可執行(x)權限,即只有rw這兩個項目,也就是最大為666,預設權限為:-rw-rw-rw-。若用戶建立目錄,則由于x與是否可以進入此目錄有關,因此默認所有權限均開放,即為777,預設權限為:drwxrwxrwx。
umask的分值指的是該默認值需要減掉的權限(r、w、x分別對應的是4、2、1),具體如下。去掉寫入的權限時,umask的分值輸入2。去掉讀取的權限時,umask的分值輸入4。去掉讀取和寫入的權限時,umask的分值輸入6。去掉執行和寫入的權限時,umask的分值輸入3。
以上面的例子,因為umask為022,所以user并沒有被去掉任何權限,不過group與others的權限被去掉了2(也就是w這個權限),那么使用者的權限如下。建立文件時:(-rw-rw-rw-)-(-----w--w-)=-rw-r--r--。建立目錄時:(drwxrwxrwx)-(d----w--w-)=drwxr-xr-x。是這樣嗎?請看測試結果。[root@RHEL7-1~]#umask0022[root@RHEL7-1~]#touchtest1[root@RHEL7-1~]#mkdirtest2[root@RHEL7-1~]#11-rw-r—-r—-1rootroot0Sep2700:25test1drwxr-xr-x2rootroot4096Sep2700:25test24.3.2子任務2利用umask
假如你與同學進行的是同一個專題,你們的賬號屬于相同群組,并且/home/class/目錄是你們的專題目錄。想象一下,有沒有可能你所制作的文件你的同學無法編輯?如果是這樣,該怎么辦呢?
這個問題可能經常發生。以上面的案例,test1的權限是644。也就是說,如果umask的值為022,那新建的數據只有用戶自己具有寫入(w)的權限,同群組的人只有讀?。╮)的權限,肯定無法修改。這樣怎么能共同制作專題呢?
因此,當我們需要新建文件給同群組的使用者共同編輯時,umask的群組就不能去掉2這個w的權限。這時umask的值應該是002,這樣才能使新建的文件的權限是-rw-rw-r--。那么如何設定umask呢?直接在umask后面輸入002就可以了。命令運行情況如下:[root@RHEL7-1~]#umask002[root@RHEL7-1~]#touchtest3[root@RHEL7-1~]#mkdirtest4[root@RHEL7-1~]#11-rw-rw-r--1rootroot0Sep2700:36test3drwxrwxr-x2rootroot4096Sep2700:36test4思考:假設umask為003,在此情況下建立的文件與目錄的權限又是怎樣的呢?umask為003,所以去掉的權限為--------wx,因此相關權限如下。文件:(-rw-rw-rw-)-(--------wx)=-rw-rw-r--。目錄:(drwxrwxrwx)-(d-------wx)=drwxrwxr--。4.3.3子任務3設置文件影藏屬性1.chattr命令功能說明:改變文件屬性。語法:chattr[-RV][-v<版本編號>][+/-/=<屬性>][文件或目錄...]。這項指令可改變存放在ext4文件系統上的文件或目錄屬性,這些屬性共有以下8種模式。
a:系統只允許在這個文件之后追加數據,不允許任何進程覆蓋或截斷這個文件。如果目錄具有這個屬性,系統將只允許在這個目錄下建立和修改文件,而不允許刪除任何文件。b:不更新文件或目錄的最后存取時間。
c:將文件或目錄壓縮后存放。
d:將文件或目錄排除在傾倒操作之外。
i:不得任意改動文件或目錄。
s:保密性刪除文件或目錄。
S:即時更新文件或目錄。
u:預防意外刪除。
chattr的相關參數如下。其中,最重要的是+i與+a這兩個屬性。由于這些屬性是隱藏的,所以需要使用lsattr命令。-R:遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-v<版本編號>:設置文件或目錄版本。
-V:顯示指令執行過程。
+<屬性>:開啟文件或目錄的該項屬性。
-<屬性>:關閉文件或目錄的該項屬性。
=<屬性>:指定文件或目錄的該項屬性?!纠?-4】請嘗試在/tmp目錄下建立文件,加入i參數,并嘗試刪除。[root@RHEL7-1~]#cd/tmp[root@RHEL7-1tmp]#touchattrtest<==建立一個空文件[root@RHEL7-1tmp]#chattr+iattrtest<==給予i屬性[root@RHEL7-1tmp]#rmattrtest<==嘗試刪除,查看結果rm:removewrite-protectedregularemptyfile`attrtest'?yrm:cannotremove`attrtest':Operationnotpermitted<==操作不允許#看到了嗎?連root也沒有辦法將這個文件刪除!趕緊解除設定吧將該文件的i屬性取消的代碼如下:[root@RHEL7-1tmp]#chattr-iattrtest2.lsattr命令(顯示文件隱藏屬性)該命令的語法為[root@RHEL7-1~]#lsattr[-adR]文件或目錄該命令的選項與參數如下-a:將隱藏文件的屬性也顯示出來。-d:如果是目錄,僅列出目錄本身的屬性而非目錄內的文件名。-R:連同子目錄的數據也一并列出來。例如:[root@RHEL7-1tmp]#chattr+aiSattrtest[root@RHEL7-1tmp]#lsattrattrtest--S-ia----------attrtest4.3.4子任務4設置文件特殊權限:SUID、SGID、SBIT
在復雜多變的生產環境中,單純設置文件的rwx權限無法滿足我們對安全和靈活性的需求,因此便有了SUID、SGID與SBIT的特殊權限位。這是一種對文件權限進行設置的特殊功能,可以與一般權限同時使用,以彌補一般權限不能實現的功能。12.設置文件特殊權限:SUID、SGID、SBIT4.4任務4文件訪問控制列表
一般權限、特殊權限、隱藏權限其實有一個共性—權限是針對某一類用戶設置的。如果希望對某個指定的用戶進行單獨的權限控制,就需要用到文件的訪問控制列表(AccessControlList,ACL)了。
為了更直觀地看到ACL對文件權限控制的強大效果,可以先切換到普通用戶,然后嘗試進入root管理員的家目錄中。在沒有針對普通用戶對root管理員的家目錄設置ACL之前,其執行結果如下所示:[root@RHEL7-1
~]#
su
-
bobbyLast
login:
Sat
Mar
21
16:31:19
CST
2017
on
pts/0[bobby@RHEL7-1
~]$
cd
/root-bash:
cd:
/root:
Permission
denied[bobby@RHEL7-1
root]$
exit
setfacl命令用于管理文件的ACL規則,格式為“setfacl[參數]文件名稱”。文件的ACL提供的是在所有者、所屬組、其他人的讀/寫/執行權限之外的特殊權限控制,使用setfacl命令可以針對單一用戶或用戶組、單一文件或目錄來進行讀/寫/執行權限的控制。其中,針對目錄文件需要使用-R遞歸參數;針對普通文件可以使用-m參數;如果想要刪除某個文件的ACL,可以使用-b參數。下面來設置用戶在/root目錄上的權限:[root@RHEL7-1
~]#
setfacl
-Rm
u:bobby:rwx
/root[root@RHEL7-1
~]#
su
-
bobbyLast
login:
Sat
Mar
21
15:45:03
CST
2017
on
pts/1[bobby@RHEL7-1
~]$
cd
/root[bobby@RHEL7-1
root]$
lsanaconda-ks.cfg
Downloads
Pictures
Public[bobby@RHEL7-1
root]$
cat
anaconda-ks.cfg[bobby@RHEL7-1
root]$
exit怎樣查看文件上有哪些ACL呢?常用的ls命令看不到ACL表信息,卻可以看到文件的權限最后一個點(.)變成了加號(+),這就意味著該文件已經設置了ACL。[root@RHEL7-1
~]#
ls
-ld
/rootdr-xrwx---+
14
root
root
4096
May
4
2017
/root4.4.1setfacl命令getfacl命令用于顯示文件上設置的ACL信息,格式為“getfacl文件名稱”。Linux系統中的命令就是這么可愛又好記。想要設置ACL,用的是setfacl命令;要想查看ACL,則用的是getfacl命令。下面使用getfacl命令顯示在root管理員家目錄上設置的所有ACL信息。
[root@RHEL7-1
~]#
getfacl
/rootgetfacl:
Removing
leading
'/'
from
absolute
path
names#
file:
root#
owner:
root#
group:
rootuser::r-xuser:bobby:rwxgroup::r-xmask::rwxother::---4.4.2getfacl命令4.5企業實戰與應用1.情境及需求情境:假設系統中有兩個賬號,分別是alex與arod,這兩個賬號除了支持自己的群組,還共同支持一個名為project的群組。如這兩個賬號需要共同擁有/srv/ahome/目錄的開發權,且該目錄不許其他賬號進入查閱,請問該目錄的權限應如何設定?請先以傳統權限說明,再以SGID的功能解析。目標:了解為何項目開發時,目錄最好設定SGID的權限。前提:多個賬號支持同一群組,且共同擁有目錄的使用權。需求:需要使用root的身份運行chmod、chgrp等命令,幫用戶設定好他們的開發環境。這也是管理員的重要任務之一。2.解決方案(1)制作出這兩個賬號的相關數據,如下所示。[root@RHEL7-1~]#groupaddproject<==增加新的群組[root@RHEL7-1~]#useradd-Gprojectalex<==建立alex賬號,且支持project[root@RHEL7-1~]#useradd-Gprojectarod<==建立arod賬號,且支持project[root@RHEL7-1~]#idalex<==查閱alex賬號的屬性uid=1008(alex)gid=1012(alex)組=1012(alex),1011(project)<==確定有支持![root@RHEL7-1~]#idarodid=1009(arod)gid=1013(arod)組=1013(arod),1011(project)(2)建立所需要開發的項目目錄。[root@RHEL7-1~]#mkdir/srv/ahome[root@RHEL7-1~]#ll-d/srv/ahomedrwxr-xr-x2rootroot4096Sep2922:36/srv/ahome(3)從上面的輸出結果可發現alex與arod都不能在該目錄內建立文件,因此需要進行權限與屬性的修改。由于其他人均不可進入此目錄,所以該目錄的群組應為project,權限應為770才合理。[root@RHEL7-1~]#chgrpproject/srv/ahome[root@RHEL7-1~]#chmod770/srv/ahome[root@RHEL7-1~]#ll-d/srv/ahomedr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內蒙古鄂爾多斯準格爾旗第四中學2025年初三下學期第一次適應性聯考數學試題試卷含解析
- 太原旅游職業學院《制藥工程專業導論》2023-2024學年第一學期期末試卷
- 云南交通運輸職業學院《學前專業發展與教師職業道德》2023-2024學年第一學期期末試卷
- 江蘇省東臺市第七聯盟重點中學2025年初三下第一次質量檢測試題物理試題含解析
- 揚州中瑞酒店職業學院《軟件測試》2023-2024學年第二學期期末試卷
- 內蒙古工業職業學院《流體力學土建類》2023-2024學年第一學期期末試卷
- 江蘇省鹽城市新洋第二實驗校2025年初三第四次四校聯考英語試題試卷含答案
- 松原職業技術學院《禮儀與文化專題》2023-2024學年第二學期期末試卷
- 宿州航空職業學院《多元數據分析》2023-2024學年第一學期期末試卷
- 江南影視藝術職業學院《跨文化交際英語(Ⅰ)》2023-2024學年第二學期期末試卷
- (四調)武漢市2025屆高中畢業生四月調研考試 語文試卷(含答案詳解)
- 公司事故隱患內部報告獎勵制度
- 大學生創新創業基礎(創新創業課程)完整全套教學課件
- 一般單位消防安全建設標準
- 《北京市市級投資基金績效評價管理暫行辦法》
- 100道湊十法練習習題
- 2022年保安考試題庫有答案
- (完整版)老人健康智能手環可行性分析報告 (1)
- 內蒙古高中畢業生學籍表畢業生登記表學年評語表成績單身體健康檢查表完整版高中檔案文件
- 低鈉血癥鑒別診斷-杜斌PPT課件
- 光電效應和普朗克常數測定實驗數據表格
評論
0/150
提交評論