Linux的文件權限與目錄配置

1、Linux文件權限概念

一、Linux文件屬性

         在命令行輸入ls –al,可列出全部的文件詳細的權限與屬性(包括隱藏文件,以」.」開頭)。返回的文件列表分爲七項內容:php

         ① 文件的類型與權限html

         其中共有10個字符。第1個字符表示文件類型,第2-4個字符表示文件全部者的權限,第5-7個字符表示文件所屬用戶組的權限,第8-10個字符表示其餘人對此文件的權限。權限字符依次爲」rwx」(read、write、execute),依次表示可讀、可寫、可執行,若爲」-」則表示無此項權限。例如」-rwxrwx---」,文件類型爲「文件」,文件全部者和文件所屬用戶組權限均爲「可讀、可寫、可執行」,其餘人對此文件無任何權限。第一個字符,即文件類型,所表明含義以下:node

                  [d]——目錄網絡

                  [-]——文件架構

                  [l]——鏈接文件(linkfile)socket

                  [b]——設備文件中可供存儲的接口設備函數

                  [c]——設備文件中的串行端口設備性能

                  [s]——套接字(sockets)spa

                  [p]——管道(pipe)命令行

         ② 有多少文件名鏈接到此節點(i-node)

         ③ 這個文件(或目錄)的「全部者帳號」

         ④ 這個文件所屬用戶組

         ⑤ 這個文件的容量大小,默認容量爲B

         ⑥ 這個文件的建立文件日期或者是最近的修改日期

         ⑦ 文件名

二、改變文件屬性與權限

         1) 改變所屬用戶組:chgrp

         chgrp [-R] groupname dirname/filename

         -R:進行遞歸的持續更新,也即連同子目錄下的全部文件、目錄

         2) 改變文件全部者:chown

         chown [-R] 帳號名稱[:組名] 文件或目錄

         -R:進行遞歸的持續更新,也即連同子目錄下的全部文件、目錄

         3) 改變權限:chmod

         權限的設置方法有兩種,分別可使用數字或者是符號來進行權限的更改。

         ·數字類型改變文件權限

         Linux基本權限有9個,分別是owner、group、others三種身份各有的rwx。把每組權限按照二進制進行轉化,擁有權限即爲1,沒有即爲0,例如rwx爲111(7),r-x爲101(5)。

    對應的chmod的語法爲:

         chmod [-R] xyz 文件或目錄

         其中,-R與chgrp中-R選項含義相同,xyz分別爲三種身份按上文所述權限所表明的數字。

         ·符號類型改變文件權限

         chmod u/g/o/a +(加入)/-(除去)/=(設置) r/w/x 文件或目錄

         其中,ugo分別表明user、group、others,a表明all

三、目錄與文件的權限意義

         1) 權限對文件的重要性

         r:可讀取此文件的實際內容

         w:能夠編輯、新增或者是修改該文件的內容(但不包含刪除該文件)

         x:該文件具備能夠被系統執行的權限

         2) 權限對目錄的重要性

         r:表示具備讀取目錄結構列表的權限

         w:表示具備更改該目錄結構列表的權限,也就是新建新的文件與目錄、刪除已經存在的文件與目錄、將已存在的文件或目錄進行重命名、轉移該目錄內的文件或目錄位置等權限

         x:表明用戶可否進入該目錄成爲工做目錄的用途

四、Linux文件種類與擴展名

         ·文件種類

         普通文件:通常進行訪問類型的文件,由ls –al顯示的屬性第一個字符爲[-]

         純文本文件(ASCII):內容爲咱們能夠直接讀到的數據

         二進制文件(binary):系統能夠識別的文件類型

         數據格式文件(data):有些程序在運行的過程當中會讀取某些特定格式的文件,安歇特定格式的文件能夠被稱爲數據文件

         目錄(directory):第一個屬性爲[d]

         鏈接文件(link):相似Windows系統下面的快捷方式,第一個屬性爲[l]

         設備與設備文件(device):與系統外設及存儲等相關的一些文件,一般集中在/dev這個目錄,一般分爲塊設備文件(存儲數據,以提供系統隨時訪問的接口設備,第一個屬性爲[b])和字符設備文件(一些串行端口的接口設備,第一個屬性爲[c])

         套接字(sockets):一般被用在網絡上的數據鏈接,第一個屬性爲[s]

         管道(FIFO,pipe):主要目的在解決多個程序同時訪問一個文件所形成的錯誤問題,第一個屬性爲[p]

         ·Linux文件擴展名

         *.sh:腳本或批處理文件(scripts)

         *Z、*.tar、*.tar.gz、*.zip、*.tgz:通過打包的壓縮文件

         *.html、*.php:網頁相關文件

         ·Linux文件長度限制

         在Linux下面,使用默認的Ext2/Ext3文件系統時,針對文件名長度限制爲:單一文件或目錄的最大允許文件名爲255個字符,包含完整路徑名稱及目錄(/)的完整文件名爲4096個字符。

         ·Linux文件名的限制

         因爲Linux在文字界面下的一些命令操做關係,在設置Linux下面的文件名時,最好能夠避免特殊字符,例如* ? > < ; & ! [ ] | \ ’ 」 ` ( ) { },由於這些符號在命令行下室友特殊含義的。文件名的開頭爲小數點」.」時,表明這個文件爲「隱藏文件」。同時因爲命令執行當中,經常會使用到-option之類的參數,因此最好避免將文件名的開頭以-或+來命名。

 

2、Linux目錄配置

一、Linux目錄配置標準:FHS

         FHS(Filesystem Hierarchy Standard)主要目的在於規範每一個特定的目錄下應該要放置什麼樣子的數據。

    FHS是根據過去的經驗一直持續改版的,FHS依據文件系統使用的頻繁與否與是否容許用戶隨意改動,將目錄定義成四種交互做用的形態。

    可分享的:能夠分享給其餘系統掛載使用的目錄。

    不可分享的:本身機器上運行的設備文件或者是與程序相關的socket文件等。

    不變的:跟隨者distribution而不會常常變更的,例如函數庫、文件說明文件、系統管理員所管理的主機服務配置文件等。

    可變更的:常常改變的數據,例如登陸文件、新聞組等。

 

可分享的(shareable)

不可分享的(unshareable)

不變的(static)

/usr(軟件放置處)

/opt(第三方軟件)

/etc(配置文件)

/boot(開機與內核文件)

可變更的(variable)

/var/mail(用戶郵件信箱)

/var/spool/news(新聞組)

/var/run(程序相關)

/var/lock(程序相關)

         FHS針對目錄樹架構僅定義出三層目錄下面應該放什麼數據:

         /(root,根目錄):與開機系統有關;

         /usr(UNIX software resource):與軟件安裝/執行有關;

         /var(variable):與系統運做過程有關。

         根目錄的意義與內容:根目錄是整個系統最重要的一個目錄,由於不但全部的目錄都是由根目錄衍生出來的,同時根目錄也與開機、還原、系統修復等操做有關。FHS建議:根目錄(/)所在分區越小越好,且應用程序所安裝的軟件最好不要與根目錄放在同一個分區上,保持根目錄越小越好,如此不但性能較好,根目錄所在的文件系統也較不容易發生問題。

         所以,FHS定義出根目錄(\)下的子目錄:

         /bin:放置的是在單用戶維護模式下還可以被操做的命令

         /boot:主要放置開機時會用到的文件,包括Linux內核文件以及開機所需配置文件等

         /dev:Linux系統上任何設備與接口都是以文件的形式存在於此目錄中

         /etc:系統主要的配置文件幾乎都放置於這個目錄內,比較重要的有/etc/inittab、/etc/init.d(放置全部服務的默認啓動腳本)、/etc/modprobe.conf、/etc/X11(放置與X Window有關的各類配置文件,尤爲是xorg.conf這個XServer配置文件)、/etc/fstab、/etc/sysconfig、/etc/xinetd.d(super daemon管理的各項服務的配置文件目錄)等

         /home:系統默認的用戶主文件夾

         /lib:放置開機時會用到的函數庫,以及在/bin或/sbin下面的命令會調用的函數庫

         /media:放置可刪除的設備

         /mnt:暫時掛載某些額外的設備

         /opt:給第三方軟件放置的目錄

         /root:系統管理員的主文件夾

         /sbin:放置開機過程當中所須要的,包括開機、修復、還原系統所須要的命令

         /srv:一些網絡服務啓動以後,這些服務所須要取用的數據目錄

         /tmp:通常用戶或者正在執行的程序暫時放置文件的地方

二、目錄樹

         目錄樹的主要特性有:

         ① 目錄樹的起始點爲根目錄(/,root)

         ② 每個目錄不僅能使用本地端的文件系統,也可使用網絡上的文件系統

         ③ 每個文件在此目錄樹中的文件名(包含完整路徑)都是獨一無二的

三、絕對路徑與相對路徑

         絕對路徑:由根目錄(/)開始寫起的文件名或目錄名稱

         相對路徑:相對於目前路徑的文件名寫法

         .:表明當前目錄,也可使用./來表示

         ..:表明上一層目錄,也可使用../來表示

相關文章
相關標籤/搜索