Linux小知識-2:權限模型

前言:入手linux,權限模型是必需要先拿下的。小聊一下。 java

從實踐入手,先有個大體印象: linux

ls -l

能夠看到如下文件屬性(隨便找一個目錄): 
shell

drwxr-xr-x   2 root root     4096  8月 11 01:47 libvte-2.90-9/
lrwxrwxrwx   1 root root       22  9月 12 02:50 libvte2_90.so.9 -> libvte2_90.so.9.3200.1
-rw-r--r--   1 root root   640344  4月 17  2012 libvte2_90.so.9.3200.1
  1. 第1位的「d/l/-」表示文件類型,d:目錄;-:普通文件;l:連接文件,指向另外一個文件spa

  2. 2-10位的「rwxr-xr-x」表示當前文件針對不一樣用戶對象所賦予的權限。按位平分3組,第1組對象爲文件全部者,第2組對象爲全部者所在組,第3組對象爲系統的其餘用戶。rwx分別表示讀,寫,執行權限。可是對於文件和目錄兩種不一樣的文件類型,權限的解讀是不同的。詳見下述。code

  3. 第一個"root"表示當前文件所屬用戶,也就是建立該文件的用戶,也是該文件的全部者。對象

  4. 第二個「root」表示當前文件所屬用戶組,也就是當前文件全部者所屬組。遞歸

下面描述一下Linux權限模型: it

在Linux系統中,用戶被分紅三類:1,當前用戶;2,和當前用戶同屬一組的用戶;3,其餘用戶。(對應於前面的三組「rwx」)
一個用戶既能夠屬於一個組,也能夠屬於多個組。
一個文件同時屬於:1,用戶;2,用戶組;(對應於前面的兩個「root」,一個表示用戶,一個表示組 io

Linux中的一個文件在正常狀況下屬於一個用戶全部,將此用戶稱爲文件的全部者(也稱屬主)。而將一些用戶按某種規則分在一個組內,設置此組對文件操做的權限,這個組爲文件的所屬組。不屬於這兩個範疇的用戶,統稱爲其餘人(others)。 class

RWX對文件和目錄的不一樣解讀:

r(Read,讀取):對文件而言,具備讀取文件內容的權限;對目錄來講,具備瀏覽目錄的權限,不然能夠進入目錄,但不能讀取目錄下文件列表。
w(Write,寫入):對文件而言,具備新增、修改文件內容的權限;對目錄來講,具備刪除、移動目錄內文件的權限。
x(eXecute,執行):對文件而言,具備執行文件的權限;對目錄來講該用戶具備進入目錄的權限,不然能夠瀏覽,但不能進入。

權限設置修改操做:

1,每一個用戶都擁有本身的專屬目錄,一般集中放置在/home目錄下,這些專屬目錄的默認權限爲rwx------:表示目錄全部者自己具備全部權限,其餘用戶沒法進入該目錄。
2,執行mkdir命令所建立的目錄,其默認權限爲rwxr-xr-x,用戶能夠根據須要修改目錄的權限。
3,用戶登陸系統時,用戶環境就會自動執行umask命令來決定文件、目錄的默認權限。
    u
mask:設置了用戶建立文件的默認 權限,它與chmod的效果恰好相反,umask設置的是權限「補碼」,而chmod設置的是文件權限碼umask是從權限中「拿走」相應的位,且文件建立時不能賦予執行權限。好比:umask 777,則權限值爲000.
4,chmod和數字來改變權限
     chmod [-cfvR] [--help] [--version] mode file
      mode : 權限設定字串,格式以下 : [ugoa...][[+-=][rwxX]...][,...],其中
  u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個羣體(group)者,o 表示其餘之外的人,a 表示這三者皆是。
  + 表示增長權限、- 表示取消權限、= 表示惟一設定權限。
  r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過爲可執行。
  -c : 若該檔案權限確實已經更改,才顯示其更改動做
  -f : 若該檔案權限沒法被更改也不要顯示錯誤訊息
  -v : 顯示權限變動的詳細資料
  -R : 對目前目錄下的全部檔案與子目錄進行相同的權限變動(即以遞迴的方式逐個變動)
  --help : 顯示輔助說明
  --version : 顯示版本
例子:1.txt設爲全部人都能讀取:

chmod ugo+r 1.txt 或
chmod a+r 1.txt


chmod用數字來表示權限如 chmod 777 file

  1. 語法爲:chmod abc file  

  其中a,b,c各爲一個數字,分別表示User、Group、及Other的權限。 
  r=4,w=2,x=1
  若要rwx屬性則4+2+1=7;
  若要rw-屬性則4+2=6;
  若要r-x屬性則4+1=5。

使用命令chown改變目錄或文件的全部權
文件與目錄不只能夠改變權限,其全部權及所屬用戶組也能修改,和設置權限相似,用戶能夠經過圖形界面來設置,或執行chown命令來修改。

一次修改某個目錄下全部文件的權限,包括子目錄中的文件權限也要修改,要使用參數-R表示啓動遞歸處理。
例如:

chmod 777 /home/user 注:僅把/home/user目錄的權限設置爲rwxrwxrwx
chmod -R 777 /home/user 注:表示將整個/home/user目錄與其中的文件和子目錄的權限都設置爲rwxrwxrwx
相關文章
相關標籤/搜索