Linux學習筆記第三天--修改權限操作

Linux修改權限

chmod

在linux中,只有root和文件的所有者可以修改權限,修改權限命令用的是chmod,這個命令有兩個方式

1:chmod {u g o}+-={r w x} +文件位置

在這個命令中,u代表所有者,g代表所屬組,o代表其他組。r代表讀權限,w代表寫權限,x代表執行權限。+代表添加一個權限,-代表減少一個權限,=直接賦予權限。比如:

chmod u+x,g-x,o=r代表 給“所有者”添加一個執行權限,給“所屬組”去掉執行權限,讓“其他人”只有一個讀的權限(不管他以前是什麼權限)。這樣一看應該很明顯了吧。

2:chmod 777 +文件位置

在說這個方式之前,需要說一下權限所代表的數字

權限 數值
r 4
w 2
x 1

感覺光說不是很清楚,直接上命令吧

比如:chmod 761 /tmp/test

解釋:給這個test目錄賦權限,所有者權限爲7,也就是說,所有者擁有讀寫和執行的權限(7=4+2+1),所屬組有讀和寫的權限(6=4+2),其他人有執行的權限(1)也就是drwxrw-r--。因爲是目錄,所以是d開頭。

chmod 700 /tmp/test

解釋:給這個test目錄賦權限,所有者權限爲7,也就是說,所有者擁有讀寫和執行的權限(7=4+2+1),所屬組和其他人沒有權限。也就是drwx------

直接看兩個例子,應該就很明顯了吧.

Ok,最後在說一下文件的rwx和目錄的rwx

權限 文件 目錄
r 可以查看文件的內容 可以列出目錄的內容
w 可以修改文件 可以在目錄中創建,刪除文件,也可以修改文件的名稱
x 可以執行文件 可以進入目錄

對上面的權限做一個小的測試。

管理員賬號創建一個目錄,test,並在目錄下創建一個文件Test.t 現在,將目錄test的權限修改爲777,Test.t的權限爲700。問:現在新建一個普通用戶,他能不能刪除Test.t?

文件的權限是700,普通用戶沒有修改文件內容的權限,而文件所在目錄的權限是777,也就是說,所有人都有權限操作這個目錄,普通用戶也就有w權限,也就是說,它可以在目錄中新建或者刪除文件,所以,是可以刪除的。

chown

chown是用來修改所有者的,格式:chown +所有者 +操作對象

但是當你執行這個命令的時候,可能會發現報錯,因爲只有root纔可以改變所有者

可以看到上黃色部分,當切換到root時,再執行chown命令,就可以更換所有者了。

chgrp

chgrp用來修改所屬組:chgrp 用戶組 文件或目錄。

每個文件或者目錄都會有一個默認的用戶組,默認用戶組的名字和所有者是一樣的,也就是缺省組(Emmmmmm,我這裏也不是很清楚)。當你想要改變一個文件或者目錄的所屬組的時候,直接chgrp +組名 +文件位置。

如圖,我先創建一個用戶組,叫 hdg,在通過chgrp hdg /tmp/hj0326將hj0326的所屬組由mytest改爲hdg,不過要注意,我能做改變所屬組,是因爲我當前登錄的是root賬號。

umask

umask是一個權限管理命令。

最常用的一個功能:umask -S,看好,這個是大寫的S:

執行umask -S,你會看到u=rwx,g=rx,o=rx,這個一看就很好理解了,所有者權限爲rwx,用戶組權限爲rw,其他人爲rx。其實,這個權限的分配就是你新建目錄或者文件的默認權限。當我們創建一個目錄的時候:

會發現,他的權限就是rwxr-xr-x,正好是我們執行umask -S看到的。既然我們可以看到默認的權限分配,當然,我們也可以一修改它。

就用umask +數字。不過在說這個之前,還有一些東西需要介紹一下。

如過我們直接輸入umask

就係那個上圖,你會看到四個數字0022。第一個數字0,代表特殊權限,具體的呢,...我就不知道了。不過後邊這三個022,它和我們的默認權限是有關係的。咱們默認的權限是u=rwx,g=rx,o=rx,也就是755,發現沒? 一個022,一個755!!!! 發現沒?  沒發現吧,,我就知道。其實是他們倆 相加是777。也就是說,如果你想要你的默認權限爲755(u=rwx,g=rx,o=rx),那麼你就需要輸入這個命令:umask 022。比如如果我想把默認的權限改爲rwxr-xr--,也就是我需要把權限改爲754,那麼我就需要執行umask 023。

這樣當我再創建一個目錄的時候,他就會變成rwxr-xr--了。不過Linux的默認權限還是很合理的,建議大家不要修改。

還有一個事!當我們創建一個目錄的時候,他的默認的權限是755,也就是rwxr-xr-x。可是看一下下面這張圖

默認的權限是022,但是我創建出來的文件的權限是rw-r--r--,對比一下會發現,所有人的權限都少了一個x權限,這是因爲,在linux中,新建的文件時沒有執行權限的。所以,當你新建一個文件的時候,他的權限就變成了rw-r--r--。

ok!打完收工

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章