天天看點

Linux指令格式與修改檔案權限的指令

一、 指令格式

Linux既然每個檔案或目錄都有自己的權限屬性,那麼如何來修改他們的權限屬性呢,在學指令之前先了解一下Linux指令的格式:

Linux指令格式與修改檔案權限的指令

[-選項]:就是用來調整指令功能的。

[參數]:指令操作的對象。

二、修改檔案基本權限的指令

想要改檔案的權限,隻有管理者root和所有者才能修改

1、chmod:更改檔案9個屬性

Linux指令格式與修改檔案權限的指令

Linux檔案屬性有兩種設定方法,一種是數字,一種是符号。

Linux檔案的基本權限就有九個,分别是owner/group/others三種身份各有自己的read/write/execute權限。

① 數字改變檔案權限(常用)

我們可以使用數字來代表各個權限,各權限的分數對照表如下:

  • r:4
  • w:2
  • x:1

每種身份(owner/group/others)各自的三個權限(r/w/x)分數是需要累加的,例如當權限為: [-rwxrwx---] 分數則是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= --- = 0+0+0 = 0

是以等我們設定權限的變更時,該檔案的權限數字就是770啦!變更權限的指令chmod的文法是這樣的:

chmod [-R] xyz 檔案或目錄

  • xyz : 就是剛剛提到的數字類型的權限屬性,為 rwx 屬性數值的相加。
  • -R : 進行遞歸(recursive)的持續變更,亦即連同次目錄下的所有檔案都會變更

② 符号類型改變檔案權限

 我們就可以藉由u, g, o來代表三種身份的權限!

此外, a 則代表 all 亦即全部的身份!那麼讀寫的權限就可以寫成r, w, x!也就是可以使用底下的方式來看:

chmod

u

g

o

a

+(加入)

-(除去)

=(設定)

r

w

x

檔案或目錄

如果我們需要将檔案權限設定為 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 檔案名 來設定。

例:

Linux指令格式與修改檔案權限的指令
Linux指令格式與修改檔案權限的指令

注意:如果一個目錄有寫的權限,其他使用者對于這個目錄下的檔案也可以删除。

2、chown:更改檔案屬主,也可以同時更改檔案屬組

注意:這個指令隻有管理者root才可以操作。而且系統裡是必須存在這個使用者。

Linux指令格式與修改檔案權限的指令

文法:

chown [–R] 屬主名: 檔案名

chown [-R] 屬主名:屬組名 檔案名

3、chgrp:更改檔案屬組。

Linux指令格式與修改檔案權限的指令

文法:

chgrp [-R] 屬組名 檔案名

參數選項

  • -R:遞歸更改檔案屬組,就是在更改某個目錄檔案的屬組時,如果加上-R的參數,那麼該目錄下的所有檔案的屬組都會更改。

4、umask設定預設的權限掩碼

Linux umask指令指定在建立檔案時預設的權限掩碼,在學習這個指令之前,先了解一下預設的所有者和所屬組是哪來的?

一個檔案建立的時候所有者和所屬組是哪來的?

所有者:誰建立的檔案誰就是這個檔案的所有者。

所屬組:就是這個檔案建立者的預設組,每個使用者隻能有一個預設組。

Linux指令格式與修改檔案權限的指令
Linux指令格式與修改檔案權限的指令

顯示建立檔案的預設權限。

Linux指令格式與修改檔案權限的指令
Linux指令格式與修改檔案權限的指令

建立一個目錄的時候檢視發現 權限跟預設權限是一緻的,但是在test目錄裡建立一個檔案後,檢視檔案預設權限跟預設預設權限不一緻,這個是為什麼呢?

rwxr-xr-x

rw-r--r--  對比發現都少了一個x可執行權限,這是因為在Linux裡預設權限建立的檔案是不可具有可執行權限的。

Linux指令格式與修改檔案權限的指令

單獨執行  umask   發現現實出  0022  ,這是什麼意思呢?

022是權限掩碼意思,真正的權限是777-022=755 寫出來就是rwxr-xr-x.

如果我們自己要是想修改這個預設權限,該怎麼修改的。

繼續閱讀