第六章、Linux 的文件權限與目錄配置


第六章、Linux 的文件權限與目錄配置
  2.1 Linux文件屬性
 

 
 
1.文件擁有者
2.群組概念
3.其他人的概念
 
Linux 用戶身份與群組記錄的文件
默認的情況下,所有的系統上的賬號與一般身份使用者,還有那個root的相關信息, 都是記錄在 /etc/passwd這個文件內的。至於個人的密碼則是記錄在/etc/shadow這個文件下。 此外,Linux所有的組名都紀錄在/etc/group內!這三個文件可以說是Linux系統里面賬號、密碼、群組信息的集中地啰! 不要隨便刪除這三個文件啊! ^_^
 

 
  2.1 Linux文件屬性
 
 
2.1Linux文件屬性
 
『 ls -al 』
 
 
1.第一欄代表這個文件的類型與權限(permission):
第一個字符代表這個文件是『目錄、文件或鏈接文件等等』:
 
  • 當為[ d ]則是目錄,例如上表檔名為『.gconf』的那一行;
  • 當為[ - ]則是文件,例如上表檔名為『install.log』那一行;
  • 若是[ l ]則表示為連結檔(link file);
  • 若是[ b ]則表示為裝置文件里面的可供儲存的接口設備(可隨機存取裝置);
  • 若是[ c ]則表示為裝置文件里面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)。
 
  • 第一組為『文件擁有者的權限』,以『install.log』那個文件為例, 該文件的擁有者可以讀寫,但不可執行;
  • 第二組為『同群組的權限』;
  • 第三組為『其他非本群組的權限』。
 
2.第二欄表示有多少檔名連結到此節點(i-node):
3.第三欄表示這個文件(或目錄)的『擁有者賬號』
4.第四欄表示這個文件的所屬群組
在Linux系統下,你的賬號會附屬於一個或多個的群組中
5.第五欄為這個文件的容量大小,默認單位為bytes;
6.第六欄為這個文件的建檔日期或者是最近的修改日期:
這一欄的內容分別為日期(月/日)及時間。如果這個文件被修改的時間距離現在太久了,那么時間部分會僅顯示年份而已
如果想要顯示完整的時間格式,可以利用ls的選項,亦即:『ls -l --full-time』
如果你當初是以繁體中文安裝你的Linux系統,那么日期字段將會以中文來顯示。 可惜的是,中文並沒有辦法在純文本的終端機模式中正確的顯示,所以此欄會變成亂碼。 那你就得要使用 『LANG=en_US』來修改語系喔!
7.第七欄為這個文件的檔名
比較特殊的是:如果檔名之前多一個『 . 』,則代表這個文件為『隱藏檔』
 
對於更詳細的 ls 用法,還記得怎么查詢嗎?對啦!使用 man ls 或 info ls 去看看他的基礎用法去
 
 
2.2如何改變文件屬性與權限
 
  • chgrp :改變文件所屬群組
  • chown :改變文件擁有者
  • chmod :改變文件的權限, SUID, SGID, SBIT等等的特性
 
 
1.改變所屬群組, chgrp
改變的組名必須要在/etc/group文件內存在才行,否則就會顯示錯誤!
 
2.改變文件擁有者, chown
用戶必須是已經存在系統中的賬號,也就是在/etc/passwd 這個文件中有紀錄的用戶名稱才能改變。
 
最常見的例子就是在復制文件給你之外的其他人時, 我們使用最簡單的cp指令來說明好了:
假設你今天要將.bashrc這個文件拷貝成為.bashrc_test檔名,且是要給bin這個人,你可以這樣做:
由於復制行為(cp)會復制執行者的屬性與權限,所以!怎么辦?.bashrc_test還是屬於root所擁有, 如此一來,即使你將文件拿給bin這個使用者了,那他仍然無法修改的(看屬性/權限就知道了吧), 所以你就必須要將這個文件的擁有者與群組修改一下
 
3.改變權限, chmod
方法有兩種, 分別可以使用數字或者是符號
 
1.數字類型改變文件權限
r:4
w:2
x:1
當權限為: [-rwxrwx---] 分數則是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
 
 
2.符號類型改變文件權限
基本上就九個權限分別是(1)user (2)group (3)others三種身份啦!那么我們就可以藉由u, g, o來代表三種身份的權限!此外, a 則代表 all 亦即全部的身份!
 
來實作一下吧!假如我們要『設定』一個文件的權限成為『-rwxr-xr-x』時,基本上就是:
 
  • user (u):具有可讀、可寫、可執行的權限;
  • group 與 others (g/o):具有可讀與執行的權限。
 
所以就是:
 
如果我不知道原先的文件屬性,而我只想要增加.bashrc這個文件的每個人均可寫入的權限, 那么我就可以使用:
 
如果是要將權限去掉而不更動其他已存在的權限呢?例如要拿掉全部人的可執行權限,則:
 
 
2.3.目錄與文件之權限意義:
 
1.權限對文件的重要性
 
  • r (read):可讀取此一文件的實際內容,如讀取文本文件的文字內容等;
  • w (write):可以編輯、新增或者是修改該文件的內容(但不含刪除該文件);
  • x (execute):該文件具有可以被系統執行的權限。
 
Windows底下一個文件是否具有執行的能力是藉由『 擴展名 』來判斷的, 例如:.exe, .bat, .com 等等,但是在Linux底下,我們的文件是否能被執行,則是藉由是否具有『x』這個權限來決定的!跟檔名是沒有絕對的關系的!
 
當你對一個文件具有w權限時,你可以具有寫入/編輯/新增/修改文件的內容的權限, 但並不具備有刪除該文件本身的權限!對於文件的rwx來說, 主要都是針對『文件的內容』而言,與文件檔名的存在與否沒有關系喔!因為文件記錄的是實際的數據嘛!
 
2.權限對目錄的重要性
 
1.r (read contents in directory):
 
2.w (modify contents of directory):
表示你具有異動該目錄結構列表的權限,也就是底下這些權限:
  • 建立新的文件與目錄;
  • 刪除已經存在的文件與目錄(不論該文件的權限為何!)
  • 將已存在的文件或目錄進行更名;
  • 搬移該目錄內的文件、目錄位置。
 
3.x (access directory)
目錄不可以被執行,目錄的x代表的是用戶能否進入該目錄成為工作目錄的用途!
如果你在某目錄下不具有x的權限, 那么你就無法切換到該目錄下,也就無法執行該目錄下的任何指令,即使你具有該目錄的r的權限。
要開放目錄給任何人瀏覽時, 應該至少也要給予r及x的權限,但w權限不可隨便給! 為什么w不能隨便給
 
2.4.Linux文件種類與擴展名
 
1.文件種類:
--1.正規文件(regular file ):第一個字符為 [ - ],例如 [-rwxrwxrwx ]。
--2.目錄(directory):第一個屬性為 [ d ],例如 [drwxrwxrwx]。
--3.連結檔(link):第一個屬性為 [ l ](英文L的小寫),例如 [lrwxrwxrwx] ;
--4.設備與裝置文件(device):通常都集中在/dev這個目錄之下!
--區塊(block)設備檔:查一下/dev/sda看看, 會發現第一個屬性為[ b ]
--字符(character)設備文件,第一個屬性為 [ c ]。
--5.數據接口文件(sockets):第一個屬性為 [ s ], 最常在/var/run
--6.數據輸送文件(FIFO, pipe):第一個屬性為[p] 。
 
 
2.Linux文件擴展名:
一個Linux文件能不能被執行,與他的第一欄的十個屬性有關, 與檔名根本一點關系也沒有
,不過,可以被執行跟可以執行成功是不一樣的~舉例來說,在root家目錄下的install.log 是一個純文本檔,如果經由修改權限成為 -rwxrwxrwx 后,這個文件能夠真的執行成功嗎? 當然不行,能不能執行成功,當然就得要看該文件的內容
 
底下有數種常用的擴展名
1.(*.sh : 腳本或批處理文件 (scripts),因為批處理文件為使用shell寫成的,所以擴展名就編成 .sh ;
2.( *Z, *.tar, *.tar.gz, *.zip, *.tgz: 經過打包的壓縮文件。這是因為壓縮軟件分別為 gunzip, tar 等等的,由於不同的壓縮軟件,而取其相關的擴展名啰
3.(*.html, *.php:網頁相關文件,分別代表 HTML 語法與 PHP 語法的網頁文件啰! .html 的文件可使用網頁瀏覽器來直接開啟,至於 .php 的文件, 則可以透過 client 端的瀏覽器來 server 端瀏覽,以得到運算后的網頁結果
 
3.Linux文件長度限制:
 
使用預設的Ext2/Ext3文件系統時
  • 單一文件或目錄的最大容許文件名為 255 個字符;
  • 包含完整路徑名稱及目錄 (/) 之完整檔名為 4096 個字符。
 
透過[tab]按鍵來確認文件的文件名
 
4.文件名的限制:
 
最好可以避免一些特殊字符比較好!例如底下這些:
* ? > < ; & ! [ ] | \ ' " ` ( ) { }
另外,文件名的開頭為小數點『.』時, 代表這個文件為『隱藏檔』
常常會使用到 -option 之類的選項, 所以你最好也避免將文件檔名的開頭以 - 或 + 來命名
 

 
3.Linux目錄配置
 
 
3.1 Linux目錄配置的依據--FHS:/, /usr, /var
 
1.--Filesystem Hierarchy Standard (FHS)標准
四個類型:
  • 可分享的:可以分享給其他系統掛載使用的目錄,所以包括執行文件與用戶的郵件等數據, 是能夠分享給網絡上其他主機掛載用的目錄;
 
  • 不可分享的:自己機器上面運作的裝置文件或者是與程序有關的socket文件等, 由於僅與自身機器有關,所以當然就不適合分享給其他主機了。
 
  • 不變的:有些數據是不會經常變動的,跟隨着distribution而不變動。 例如函式庫、文件說明文件、系統管理員所管理的主機服務配置文件等等;
 
  • 可變動的:經常改變的數據,例如登錄文件、一般用戶可自行收受的新聞組等。
 
2.--FHS針對目錄樹架構僅定義出三層目錄底下應該放置什么數據而已,分別是底下這三個目錄的定義:
  • / (root, 根目錄):與開機系統有關;
  • /usr (unix software resource):與軟件安裝/執行有關;
  • /var (variable):與系統運作過程有關。
 
 
2.1 根目錄 (/) 的意義與內容:
根目錄(/)所在分割槽應該越小越好, 且應用程序所安裝的軟件最好不要與根目錄放在同一個分割槽內,保持根目錄越小越好。 如此不但效能較佳,根目錄所在的文件系統也較不容易發生問題。
 
有鑒於上述的說明,因此FHS定義出根目錄(/)底下應該要有底下這些次目錄的存在才好:
目錄 應放置文件內容
/bin 系統有很多放置執行文件的目錄,但/bin比較特殊。因為/bin放置的是在單人維護模式下還能夠被操作的指令。 在/bin底下的指令可以被root與一般賬號所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令。
/boot 這個目錄主要在放置開機會使用到的文件,包括Linux核心文件以及開機選單與開機所需配置文件等等。 Linux kernel常用的檔名為:vmlinuz,如果使用的是grub這個開機管理程序, 則還會存在/boot/grub/這個目錄喔!
/dev 在Linux系統上,任何裝置與接口設備都是以文件的型態存在於這個目錄當中的。 你只要透過存取這個目錄底下的某個文件,就等於存取某個裝置啰~ 比要重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/lp*, /dev/hd*, /dev/sd*等等
/etc 系統主要的配置文件幾乎都放置在這個目錄內,例如人員的賬號密碼文件、 各種服務的啟始檔等等。一般來說,這個目錄下的各文件屬性是可以讓一般使用者查閱的, 但是只有root有權力修改。FHS建議不要放置可執行文件(binary)在這個目錄中喔。比較重要的文件有: /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/ 等等。另外,其下重要的目錄有: /etc/init.d/:所有服務的預設啟動 script 都是放在這里的,例如要啟動或者關閉 iptables 的話:『 /etc/init.d/iptables start』、『/etc/init.d/iptables stop』
/etc/xinetd.d/:這就是所謂的super daemon管理的各項服務的配置文件目錄。
/etc/X11/:與 X Window 有關的各種配置文件都在這里,尤其是 xorg.conf 這個 X Server 的配置文件。
/home 這是系統默認的用戶家目錄(home directory)。在你新增一個一般使用者賬號時, 默認的用戶家目錄都會規范到這里來。比較重要的是,家目錄有兩種代號喔:
~:代表目前這個用戶的家目錄,而
~dmtsai :則代表 dmtsai 的家目錄!
/lib 系統的函式庫非常的多,而/lib放置的則是在開機時會用到的函式庫, 以及在/bin或/sbin底下的指令會呼叫的函式庫而已。 什么是函式庫呢?妳可以將他想成是『外掛』,某些指令必須要有這些『外掛』才能夠順利完成程序的執行之意。 尤其重要的是/lib/modules/這個目錄, 因為該目錄會放置核心相關的模塊(驅動程序)喔!
/media media是『媒體』的英文,顧名思義,這個/media底下放置的就是可移除的裝置啦! 包括軟盤、光盤、DVD等等裝置都暫時掛載於此。常見的檔名有:/media/floppy, /media/cdrom等等。
/mnt 如果妳想要暫時掛載某些額外的裝置,一般建議妳可以放置到這個目錄中。 在古早時候,這個目錄的用途與/media相同啦!只是有了/media之后,這個目錄就用來暫時掛載用了。
/opt 這個是給第三方協力軟件放置的目錄。什么是第三方協力軟件啊? 舉例來說,KDE這個桌面管理系統是一個獨立的計划,不過他可以安裝到Linux系統中,因此KDE的軟件就建議放置到此目錄下了。 另外,如果妳想要自行安裝額外的軟件(非原本的distribution提供的),那么也能夠將你的軟件安裝到這里來。 不過,以前的Linux系統中,我們還是習慣放置在/usr/local目錄下呢!
/root 系統管理員(root)的家目錄。之所以放在這里,是因為如果進入單人維護模式而僅掛載根目錄時, 該目錄就能夠擁有root的家目錄,所以我們會希望root的家目錄與根目錄放置在同一個分割槽中。
/sbin Linux有非常多指令是用來設定系統環境的,這些指令只有root才能夠利用來『設定』系統,其他用戶最多只能用來『查詢』而已。 放在/sbin底下的為開機過程中所需要的,里面包括了開機、修復、還原系統所需要的指令。 至於某些服務器軟件程序,一般則放置到/usr/sbin/當中。至於本機自行安裝的軟件所產生的系統執行文件(system binary), 則放置到/usr/local/sbin/當中了。常見的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。
/srv srv可以視為『service』的縮寫,是一些網絡服務啟動之后,這些服務所需要取用的數據目錄。 常見的服務例如WWW, FTP等等。舉例來說,WWW服務器需要的網頁數據就可以放置在/srv/www/里面。
/tmp 這是讓一般使用者或者是正在執行的程序暫時放置文件的地方。 這個目錄是任何人都能夠存取的,所以你需要定期的清理一下。當然,重要數據不可放置在此目錄啊! 因為FHS甚至建議在開機時,應該要將/tmp下的數據都刪除唷!
 
底下是幾個在Linux當中也是非常重要的目錄
目錄 應放置文件內容
/lost+found 這個目錄是使用標准的ext2/ext3文件系統格式才會產生的一個目錄,目的在於當文件系統發生錯誤時, 將一些遺失的片段放置到這個目錄下。這個目錄通常會在分割槽的最頂層存在, 例如你加裝一顆硬盤於/disk中,那在這個系統下就會自動產生一個這樣的目錄『/disk/lost+found』
/proc 這個目錄本身是一個『虛擬文件系統(virtual filesystem)』喔!他放置的數據都是在內存當中, 例如系統核心、行程信息(process)、周邊裝置的狀態及網絡狀態等等。因為這個目錄下的數據都是在內存當中, 所以本身不占任何硬盤空間啊!比較重要的文件例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。
/sys 這個目錄其實跟/proc非常類似,也是一個虛擬的文件系統,主要也是記錄與核心相關的信息。 包括目前已加載的核心模塊與核心偵測到的硬件裝置信息等等。這個目錄同樣不占硬盤容量喔!
 
為根目錄與開機有關,開機過程中僅有根目錄會被掛載, 其他分割槽則是在開機完成之后才會持續的進行掛載的行為。就是因為如此,因此根目錄下與開機過程有關的目錄, 就不能夠與根目錄放到不同的分割槽去!那哪些目錄不可與根目錄分開呢?有底下這些:
  • /etc:配置文件
  • /bin:重要執行檔
  • /dev:所需要的裝置文件
  • /lib:執行檔所需的函式庫與核心所需的模塊
  • /sbin:重要的系統執行文件
 
這五個目錄千萬不可與根目錄分開在不同的分割槽!
 
2.2 /usr 的意義與內容:
/usr里面放置的數據屬於可分享的與不可變動的(shareable, static), 如果你知道如何透過網絡進行分割槽的掛載(例如在服務器篇會談到的 NFS服務器 ),那么/usr確實可以分享給局域網絡內的其他主機來使用
 
usr是Unix Software Resource的縮寫, 也就是『Unix操作系統軟件資源』
FHS建議所有軟件開發者,應該將他們 的數據合理的分別放置到這個目錄下的次目錄,而不要自行建立該軟件自己獨立的目錄。
因為是所有系統默認的軟件(distribution發布者提供的軟件)都會放置到/usr底下,因此這個目錄有點類似Windows 系統的『C:\Windows\ + C:\Program files\』這兩個目錄的綜合體,
 
/usr的次目錄建議有底下這些:
目錄 應放置文件內容
/usr/X11R6/ 為X Window System重要數據所放置的目錄,之所以取名為X11R6是因為最后的X版本為第11版,且該版的第6次釋出之意。
/usr/bin/ 絕大部分的用戶可使用指令都放在這里!請注意到他與/bin的不同之處。(是否與開機過程有關)
/usr/include/ c/c++等程序語言的檔頭(header)與包含檔(include)放置處,當我們以tarball方式 (*.tar.gz 的方式安裝軟件)安裝某些數據時,會使用到里頭的許多包含檔喔!
/usr/lib/ 包含各應用軟件的函式庫、目標文件(object file),以及不被一般使用者慣用的執行檔或腳本(script)。 某些軟件會提供一些特殊的指令來進行服務器的設定,這些指令也不會經常被系統管理員操作, 那就會被擺放到這個目錄下啦。要注意的是,如果你使用的是X86_64的Linux系統, 那可能會有/usr/lib64/目錄產生喔!
/usr/local/ 系統管理員在本機自行安裝自己下載的軟件(非distribution默認提供者),建議安裝到此目錄, 這樣會比較便於管理。舉例來說,你的distribution提供的軟件較舊,你想安裝較新的軟件但又不想移除舊版, 此時你可以將新版軟件安裝於/usr/local/目錄下,可與原先的舊版軟件有分別啦! 你可以自行到/usr/local去看看,該目錄下也是具有bin, etc, include, lib...的次目錄喔!
/usr/sbin/ 非系統正常運作所需要的系統指令。最常見的就是某些網絡服務器軟件的服務指令(daemon)啰!
/usr/share/ 放置共享文件的地方,在這個目錄下放置的數據幾乎是不分硬件架構均可讀取的數據, 因為幾乎都是文本文件嘛!在此目錄下常見的還有這些次目錄: /usr/share/man:聯機幫助文件
/usr/share/doc:軟件雜項的文件說明
/usr/share/zoneinfo:與時區有關的時區文件
/usr/src/ 一般原始碼建議放置到這里,src有source的意思。至於核心原始碼則建議放置到/usr/src/linux/目錄下。
 
3./var 的意義與內容:
/usr是安裝時會占用較大硬盤容量的目錄,那么/var就是在系統運作后才會漸漸占用硬盤容量的目錄。 因為/var目錄主要針對常態性變動的文件,包括緩存(cache)、登錄檔(log file)以及某些軟件運作所產生的文件, 包括程序文件(lock file, run file),或者例如MySQL數據庫的文件等等。常見的次目錄有:
 
目錄 應放置文件內容
/var/cache/ 應用程序本身運作過程中會產生的一些暫存檔;
/var/lib/ 程序本身執行的過程中,需要使用到的數據文件放置的目錄。在此目錄下各自的軟件應該要有各自的目錄。 舉例來說,MySQL的數據庫放置到/var/lib/mysql/而rpm的數據庫則放到/var/lib/rpm去!
/var/lock/ 某些裝置或者是文件資源一次只能被一個應用程序所使用,如果同時有兩個程序使用該裝置時, 就可能產生一些錯誤的狀況,因此就得要將該裝置上鎖(lock),以確保該裝置只會給單一軟件所使用。 舉例來說,刻錄機正在刻錄一塊光盤,你想一下,會不會有兩個人同時在使用一個刻錄機燒片? 如果兩個人同時刻錄,那片子寫入的是誰的數據?所以當第一個人在刻錄時該刻錄機就會被上鎖, 第二個人就得要該裝置被解除鎖定(就是前一個人用完了)才能夠繼續使用啰。
/var/log/ 重要到不行!這是登錄文件放置的目錄!里面比較重要的文件如/var/log/messages, /var/log/wtmp(記錄登入者的信息)等。
/var/mail/ 放置個人電子郵件信箱的目錄,不過這個目錄也被放置到/var/spool/mail/目錄中! 通常這兩個目錄是互為鏈接文件啦!
/var/run/ 某些程序或者是服務啟動后,會將他們的PID放置在這個目錄下喔! 至於PID的意義我們會在后續章節提到的。
/var/spool/ 這個目錄通常放置一些隊列數據,所謂的『隊列』就是排隊等待其他程序使用的數據啦! 這些數據被使用后通常都會被刪除。舉例來說,系統收到新信會放置到/var/spool/mail/中, 但使用者收下該信件后該封信原則上就會被刪除。信件如果暫時寄不出去會被放到/var/spool/mqueue/中, 等到被送出后就被刪除。如果是工作排程數據(crontab),就會被放置到/var/spool/cron/目錄中!
 
 
3.2 目錄樹(directory tree)
 
  • 目錄樹的啟始點為根目錄 (/, root);
  • 每一個目錄不止能使用本地端的 partition 的文件系統,也可以使用網絡上的 filesystem 。舉例來說, 可以利用 Network File System (NFS) 服務器掛載某特定目錄等。
  • 每一個文件在此目錄樹中的文件名(包含完整路徑)都是獨一無二的。
 
根據FHS的定義,妳最好能夠將/var獨立出來, 這樣對於系統的數據還有一些安全性的保護呢!因為至少/var死掉時,你的根目錄還會活着嘛! 還能夠進入救援模式啊!
 
3.3 絕對路徑與相對路徑
因為根據檔名寫法的不同,也可將所謂的路徑(path)定義為絕對路徑(absolute)與相對路徑(relative)。
  • 絕對路徑:由根目錄(/)開始寫起的文件名或目錄名稱, 例如 /home/dmtsai/.bashrc;
  • 相對路徑:相對於目前路徑的文件名寫法。 例如 ./home/dmtsai 或 ../../home/dmtsai/ 等等。反正開頭不是 / 就屬於相對路徑的寫法
 
  • .  :代表當前的目錄,也可以使用 ./ 來表示;
  • .. :代表上一層目錄,也可以 ../ 來代表。
 
 
3.4 CentOS 的觀察: lsb_release
 
 

 
4.重點回顧
  • Linux的每個文件中,依據權限分為使用者、群組與其他人三種身份;
  • 群組最有用的功能之一,就是當你在團隊開發資源的時候,且每個賬號都可以有多個群組的支持;
  • 利用ls -l顯示的文件屬性中,第一個字段是文件的權限,共有十個位,第一個位是文件類型, 接下來三個為一組共三組,為使用者、群組、其他人的權限,權限有r,w,x三種;
  • 如果檔名之前多一個『 . 』,則代表這個文件為『隱藏檔』;
  • 更改文件的群組支持可用chgrp,修改文件的擁有者可用chown,修改文件的權限可用chmod
  • chmod修改權限的方法有兩種,分別是符號法與數字法,數字法中r,w,x分數為4,2,1;
  • 對文件來講,權限的效能為:
    • r:可讀取此一文件的實際內容,如讀取文本文件的文字內容等;
    • w:可以編輯、新增或者是修改該文件的內容(但不含刪除該文件);
    • x:該文件具有可以被系統執行的權限。
  • 對目錄來說,權限的效能為:
    • r (read contents in directory)
    • w (modify contents of directory)
    • x (access directory)
  • 要開放目錄給任何人瀏覽時,應該至少也要給予r及x的權限,但w權限不可隨便給;
  • Linux檔名的限制為:單一文件或目錄的最大容許文件名為 255 個字符;包含完整路徑名稱及目錄 (/) 之完整檔名為 4096 個字符
  • 根據FHS的官方文件指出, 他們的主要目的是希望讓使用者可以了解到已安裝軟件通常放置於那個目錄下
  • FHS訂定出來的四種目錄特色為:shareable, unshareable, static, variable等四類;
  • FHS所定義的三層主目錄為:/, /var, /usr三層而已;
  • 有五個目錄不可與根目錄放在不同的partition,分別為/etc, /bin, /lib, /dev, /sbin五個。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM