Linux下檔案許可權的設定

2022-04-29 13:27:09 字數 1889 閱讀 3992

檔案/目錄許可權設定命令:chmod

這是linux系統管理員最常用到的命令之一,它用於改變檔案或目錄的訪問許可權。該命令有兩種用法: 

用包含字母和操作符表示式的文字設定法 ) 

其語法格式為:chmod [who] [opt] [mode] 檔案/目錄名 

其中who表示物件,是以下字母中的乙個或組合: 

u:表示檔案所有者 

g:表示同組使用者 ;

o:表示其它使用者 

a:表示所有使用者 

opt則是代表操作,可以為: 

+:新增某個許可權  

-:取消某個許可權 

=:賦予給定的許可權,並取消原有的許可權 

而mode則代表許可權:

r:可讀   

w:可寫 

x:可執行 

例如:為同組使用者增加對檔案a.txt的讀寫許可權: 

chmod g+rw a.txt 

用數字設定法

而數字設定法則更為簡單:chmod [mode] 檔名 

關鍵是mode的取值,一開始許多初學者會被搞糊塗,

其實很簡單,我們將rwx看成二進位制數,如果有則有1表示,沒有則有0表示,那麼rwx r-x r-- 則可以表示成為: 

111 101 100 

再將其每三位轉換成為乙個十進位制數,就是754。 

例如,我們想讓a.txt這個檔案的許可權為: 

自己 同組使用者 其他使用者

可讀 是 是 是 

可寫 是 是 可執行 

那麼,我們先根據上表得到許可權串為:rw-rw-r--,

那麼轉換成二進位制數就是110 110 100,再每三位轉換成為乙個十進位制數,就得到664,因此我 們執行命令: 

chmod 664 a.txt

如何設定資料夾許可權為777

先進terminal,然後輸入wally的命令,後面新增你的目錄名。

sudo chmod -r 7779 u

檢視許可權

linux檔案訪問許可權分為可讀,可寫和可執行三種。

可用ls -l命令檢視,例:

ls -l

顯示-rwxr-xr-x 1 root root 6444 09-22 15:33 shmwrite

-rw-r--r-- 1 root root 1443 09-22 15:33 shmwrite.c

drwxr-xr-x 2 root root 4096 09-22 17:19 test

第乙個字元代表檔案型別。d代表目錄,-代表非目錄。

接下來每三個字元為一組許可權,分為三組,依次代表所有者許可權,同組使用者許可權,其它使用者許可權

每組許可權的三個字元依次代表是否可讀,是否可寫,是否可執行

r 表示擁有讀的許可權

w 表示擁有寫的許可權

x 表示擁有可執行的許可權

- 表示沒有該許可權

修改許可權

可用chmod命令來修改檔案許可權。

例如:chmod 754 test

4代表讀許可權,2代表寫許可權,1代表執行許可權

7=4 + 2 + 1,表示擁有可讀可寫可執行許可權

5=4 + 1,表示擁有可讀可執行許可權,但是沒有寫許可權

0 代表沒有任何許可權

以此類推

思考下為什麼是4,2,1分別代表讀寫執行許可權,而不是其它數字?

我們知道計算機最底層編碼都是二進位制,即0,1。要表示乙個檔案讀寫執行許可權,底層只需乙個位元組,即8位即可。

約定從右數起第3位為1,代表擁有讀許可權;第2位為1,代表擁有寫許可權;第1位為1,代表擁有可執行許可權。為0,則沒有相應的許可權。

即二進位制轉換成十進位制,0000 0100 = 4, 0000 0010 = 2, 0000 0001 = 1。即4,2,1分別代表相應二進位制位為1,也即擁有相應許可權。這也是上面所提問題的原因所在,這樣說大家就更容易記住這些數字代表的含義了

Linux下資料夾許可權設定

linux的檔案許可權是linux能有如此安全效能的最大的保障之一,有朋友可能會知道,很多攻擊windows的方法都是通過漏洞獲取到建立使用者 的許可權從而達到控制計算機的目的,在linux下,root帳戶有最大的許可權,可以幹任何事情,其他使用者只能擁有自己的檔案的所有許可權和該改組成員賦予的 檔...

Linux下檔案許可權

1.所謂檔案許可權,是指對檔案的訪問許可權,包括對檔案的讀,寫和執行的許可權。而檔案的許可權分為三類,所屬使用者對檔案的許可權,使用者所屬的組對檔案的許可權,以及其它使用者和其它組對檔案的許可權。在linux下,用ls al顯示檔案或目錄的許可權資訊。其中 a是顯示所有的檔案,包括 和 目錄。l 是...

Linux下檔案的許可權

linux下檔案的許可權 1.什麼是linux下的檔案,檔案許可權有哪些。檔案 計算機中的資源在作業系統中的體現。在windows下檔案有型別,用副檔名來區別。在linux下沒有檔案型別,沒有副檔名。在linux下a.txt可能是可執行程式,a.exe可能是文字。linux下,檔案的命名規則 最長不...