在學習Linux的權限之前,我們先來理解幾個概念:
Linux的文件和目錄有以下三種方式:
r 、w 、x:可讀,可寫 、可執行
r-可讀(read)
w-可寫(write)
x-可執行(execute)
Linux的文件和目錄又可以有三個所有者概念:
u、g 、o: 所有者 、所屬組 、其他人
u:所有者
g:所屬組
o:其他人
好了,開始管理我們的權限了,要管理權限,首先得知道我們的權限才能去管理吧,不然從何談管理,
下面來解讀我們的權限:
我們以/目錄下為例,cd / 就進入根目錄了。先來ls一下下,要帶-l哦,或者直接 ls -l /也可以,顯示文件或目錄的詳細信息
ls -l /
發現沒有?前面是不是一堆天書?什麼 drwxr-xr-x ?下面我們就拿第一條來開刀吧
dr-xr-xr-x : 我們可以把它拆開來解讀 , d r-x r-x r-x
d:代表的是文件類型,在Linux中,常用的文件類型為以下三種:
d :目錄 directory
- : 二進制文件 binary
l : 軟鏈接文件 link
所以這裡的d就是指名了這是一個目錄文件。
r-x:這裡代表的是這個文件或目錄所有者所擁有的權限,r是可以讀,不能寫,所以用-代替,x是可以執行,說明這個文件或目錄中,
所有者是可以讀,可以執行,不能寫
r-x :同樣的道理,第二個代表的是所屬組對這個文件的權限,也是可以讀,可以執行,不能寫
r-x :第三個就是其他人對這個文件或目錄的權限了。
所以dr-xr-xr-x翻譯起來就是這樣的:這是一個目錄文件,它的所有者可以對它讀和執行,不能寫 、所屬組可以對它讀和執行,不可以寫 ,
其他人可以讀和執行,不能寫。
來個例子:
這是一個目錄文件,所有者可讀可寫可執行,所屬組可讀可執行 、不能寫,其他人可讀可執行 、不能寫。
再比如:
-rw-r--r--:這是一個二進制文件,所有者可讀可寫 、不能執行,所屬組可讀 、不能寫 、不能執行,其他人可讀 、不可寫 、不能執行。
好了既然知道了這些權限,那麼所有者是誰呢?屬於哪個組呢?
只有留心觀察就知道了,以及打印出來給我們了:
接下來就是要管理編輯權限了:
命令名稱:chmod
命令英文原意:change the permission mode of a file
命令所在路徑:/bin/chmod
執行權限:所有用戶
語法: chmod 【mode】 文件或目錄 此處mode是啥???是數字
功能描述:改變文件或目錄權限
mode是數字怎麼來的呢?
前面我們說了一個文件或者目錄分別有所有者 (u)、所屬組u(g)和其他人(o)對其的權限,
而權限又分為:(r)可讀 、(w)可寫 、(x)可執行
為了方便表示,linux用了一個很簡單的方法來區別,r用4表示,w用2表示,x用1表示,把他們對號入座:
r - 4
w - 2
x - 1
所以
其中,第一個字符d表示類型是目錄,這裡不考慮,接下來的三個三位數(r-xr-xr-x)就可以這麼轉換啦!!!
(4+0+1)+(4+0+1)+(4+0+1)= 555
這樣意味著555能代表啥?你懂了
其實在數字和權限之間就是按這個規則來,數字轉權限和權限轉數字
例如 764 :對應的就是將7分解為4 、2 、1,將6分解為4 、2 、0,將4分解為4 、0 、0,所有對應權限為rwxrw-r--
654: 6=4+2+0, 5=4+0+1, 4=4+0+0 結果為:rw-r-xr--
例如 drwxrw-r--: 第一位d代表類型,不參與計算,rwx=4+2+1=7,rw-=4+2=0=6, r-- = 4+0+0=4最終結果為764
好了,,來個練習,
drwxr-xr-x : d不管 , rwx : 4+2+1 =7, r-x:4+1 =6, r-x:4+1=6, 所以最終結果為766
我們先創建個dir目錄,然後來改變這個目錄的權限
初始時: drwxr-x--- :是多少? 750
我想它的權限為: drwxrwxr-x 是多少 775
好了,有數字了,開始干吧 chmod 775 dir
怎麼樣,達到了效果了吧!!!是不是很方便快捷高大上。
那麼再來做個實驗,我創建個文件來試試
再改變下文件的權限
一樣也達到了效果!
大家有沒有注意到,我創建目錄和文件,默認的權限是什麼呢?這目錄和文件默認的權限為什麼不一樣呢?
看看初始給我們默認的權限:
其實linux默認的權限是通過這個命令可以查看到:
什麼???0027,貌似配不出合理的權限啊,別急,第一個0是特殊權位,具體啥也不不知道,
看後面三位027,這也不對呀,對了,忘了用777去減,其實它打印出的是正確的,需要我們用777-027 = 750
把750轉成我們的權限信息,看看 : 7= 4+2+1 , 5 = 4+1 , 0就是沒了,所以權限信息是:rwxr-x---
看看新建的目錄是不 drwxr-x---,完全正確哦!!!
可是文件呢?
,
不對了吧??為什麼,原來新創建的文件都是不可執行的,也就是說x是不能有的,所以全部去掉x,其實這就是linux安全的一個體現吧
如果我想改變這個初始的權限呢?一般不建議這麼做,如果非得這麼做,我們可以改, 命令是umask 0025呀,隨便計算就可以了。
這樣創建目錄初始的權限就更改了。
既然u 、g 、o 的權限可以更改,我們也可以更改文件的所有者,所屬組,請猛戳下一節Linux更改文件或目錄的所有者和所有組