咱們能夠經過 ls -l 命令查看文件的類型、文件大小、文件權限詳細信息,例如:linux
$ ls -l drwxrwx--- root root 4096 2月 25 21:53 soft -rw-r--r-- root root 6140 11月 12 15:58 file
其中第一個d表明的是文件的類型,rwxrwx--- 表明的是權限信息,第一個 root 表明的是該文件的所屬用戶,第二個 root 表明的是該文件所屬的用戶組,4096表明的是該文件的大小bash
分解一下,以下圖所示:spa
文件類型 文件所屬用戶權限 文件所屬組權限 其它用戶權限 文件所屬用戶 文件所屬組 文件大小 d rwx rwx --- root root 4096
其中:code
一、文件類型d表示是的目錄class
Linux文件類型: -:普通文件 d:目錄文件 l:符號連接 c:字符設備文件 b:塊設備文件
二、rwx表示的是讀(r)、寫(w)、執行(x),沒有權限(-)file
三、用戶分三類,分別爲:文件所屬者(u),文件所屬組(g),其它用戶(o)權限
2、普通文件權限二進制
讀權限(r):能夠查看文件內容,大小,類型信息命名
寫權限(w):能夠修改文件內容腳本
執行權限(x):能夠執行文件(腳本文件)
3、目錄文件權限
讀權限(r):能夠查看目錄中的文件名列表(僅能查看文件名,不能查看內容、大小等信息)
寫權限(w):能夠對目錄及目錄下全部文件執行:新建、複製、刪除、重命名操做
執行權限(x):能夠進入目錄
目錄經常使用的權限組合爲:讀執行(rx)及讀寫執行(rwx)
注:若是想在目錄下進行新建文件、複製文件、刪除文件、重命名文件,則必須擁有目錄的寫權限,由於文件名是存儲在目錄空間中的,而文件內容纔是存儲在文件空間中,若是沒有目錄的寫權限,則沒有文件名的修改權限,也就沒法進行新建、複製、刪除、重命名操做
若是想更改文件的權限,能夠經過 chmod 指令來進行,查看該指令幫助,可使用
$ man chmod
或者使用
$ chmod --help
咱們先新建一個文件,使用名爲 file 的文件
$ touch file
使用 ls -l 查看下新建文件的詳細信息
$ ls -l -rw-r--r-- root root 0 2月 26 21:30 file
能夠看到 file 爲普通文件,root用戶是該文件的全部者,root組是該文件的所屬組,其中root用戶擁有讀寫權限,root組用戶及其它用戶只擁有讀權限
咱們可使用chomd爲文件進行權限的分配,使用u、g、o、a表明不一樣的用戶類別,其中a表明所有用戶;使用 +、-、=來分配權限,其中+表示增長權限,-表示刪除權限,=表示設置權限
一、假設咱們想爲file所屬的用戶添加執行權限,也就是x權限,那麼咱們可使用:
$ ls -l -rw-r--r-- root root 0 2月 26 21:30 file $ chmod u+w file $ ls -l -rwxr--r-- root root 0 2月 26 21:30 file
能夠看到root用戶已經擁有了file文件的x(執行)權限
二、假設咱們想爲file文件,刪除其它用戶的讀權限,那麼咱們可使用:
$ ls -l -rwxr--r-- root root 0 2月 26 21:30 file $ chmod o-r file $ ls -l -rwxr----- root root 0 2月 26 21:30 file
能夠看到其它用戶的r(讀)權限,已經被刪除
三、假設咱們想爲file文件,設置其所屬組的權限爲寫和執行權限,那麼咱們可使用
$ ls -l -rwxr----- root root 0 2月 26 21:30 file $ chmod g=wx file $ ls -l -rwx-wx--- root root 0 2月 26 21:30 file
能夠看到所屬組用戶的r(讀)權限已經被刪除,權限被設置爲了w(寫)和x(執行)
使用u、g、o表明用戶類型,+、-、=設置權限,r、w、x表明權限類型,這三種組合來設置權限,比較麻煩,linux有一種更加便捷的方式來設置權限,也就是使用數字
其中r用4表示,w用2表示,x用1表示,至於爲什麼是421,由於1表明是的二進制1,2表明的是二進制11,4表明的是二進制111,該三組數字的組合至關巧妙,三組任意相加都不會產生重複
可使用 chmod + 數字 + 文件,來便捷設置權限
下面舉例子來講明:
一、爲file文件所屬用戶賦於讀寫執行權限,爲file文件所屬組用戶賦於讀執行權限,爲其它用戶賦於讀執行權限,可使用下列執行便捷設置:
$ chmod 755 file $ ls -l -rwxr-xr-x root root 0 2月 26 21:30 file
由於7=4+2+1,因此7表明的是最高權限,也就是讀+寫+執行
由於5=4+1,因此5表明的是讀+執行權限
也就是說 chmod 755 file 指令等同於 chmod u=rwx,g=rx,o=rx file,相比使用字母加符號的方式,數字設置權限顯然方便的多
二、假設不一樣時使用三個數字結合的話,假設只使用一個數字,則該數字表明其它用戶的權限,文件所屬用戶及所屬組用戶權限將變爲0,舉個例子:
$ chmod 7 file $ ls -l -------rwx root root 0 2月 26 21:30 file
也就是說 chmod 7 file指令等同於 chmod 007 file
同理,假設使用兩個數字結合,則第一個數字表明所屬組用戶權限,第二個數字表明其它用戶權限
$ chmod 47 file $ ls -l ----r--rwx root root 0 2月 26 21:30 file
也就是說 chmod 47 file指令等同於 chmod 047 file