chmod 755 是李鬼(轉)

(1) 使用ls –l查看文件,前面顯示的-rwxrwxr-x是什麼意思?socket

(2) chmod 755 xxx.sh又是什麼意思?工具

1分鐘簡單說下,這兩個和權限相關的問題。spa

 

先說下文件類型訪問方式權限分類ip

 

Linux下,分爲這麼幾種文件類型it

  • d:目錄directorypip

  • l:符號連接linkio

  • s:套接字socketclass

  • c:字符設備charfile

  • p:命名管道pipe權限

  • -:其餘,不屬於以上幾類

 

文件建立後,有三種訪問方式

  • 讀(read):顯示內容

  • 寫(write):編輯內容,刪除文件

  • 執行(execute):執行文件

 

針對用戶,文件有三類權限

  • 建立人(user)權限:建立文件的人

  • 組(group)用戶權限:和擁有者處於同一用戶組的其餘人

  • 其餘(other)用戶權限

 

瞭解了文件類型,訪問方式,三類權限以後,第一個問題就比較好解答了。

 

例如,上述a.out的第一列

-rwxrwxr-x

共有十個字符,分爲四個部分:

  • 第1個字符表示文件的類型:[-]表示普通文件

  • 第234字符表示建立人的權限:[wxr]表示可讀,可寫,可執行

  • 第567字符表示組用戶權限:[wxr]表示可讀,可寫,可執行

  • 第890字符表示其餘用戶權限:[r-x]表示可讀,可執行

 

如何改變文件的權限呢?

chmod命令用於改變文件的權限,它有兩種使用方法。

 

第一種:chomod [who] [operator] [permission] filename

 

[who]

  • u:建立人

  • g:組用戶

  • o:其餘用戶

  • a:全部用戶(all)

 

[operator]

  • +:增長權限

  • -:取消權限

  • =:設定權限

 

[permission]

  • r:讀

  • w:寫

  • x:執行

 

如何給一個文本文件xxx.sh增長可執行權限?

chmod u+x xxx.sh

 

如何不讓其餘用戶修改xxx.sh?

chmod go-w xxx.sh

 

第二種方法:chmod [mode] filename

 

[mode]是一個3位八進制數:

  • 第一位表示建立者權限

  • 第二位表示組用戶權限

  • 第三位表示其餘用戶權限

 

更具體的:

400:建立者可讀

200:建立者可寫

100:建立者可執行

040:組用戶可讀

020:組用戶可寫

010:組用戶可執行

004:其餘用戶可讀

002:其餘用戶可寫

001:其餘用戶可執行

 

3位對應位的對應數字加起來,最終就是三類用戶的最終權限。

 

如何回收非建立者用戶對xxx.sh的全部權限?

chmod 700 xxx.sh

第一位7:4+2+1,建立者,可讀可寫可執行

第二位0:組用戶,無權限

第三位0:其餘用戶,無權限

 

xxx.sh只容許建立者修改,容許其餘用戶讀取和執行,怎麼設置?

chmod 755 xxx.sh

第一位7:4+2+1,建立者,可讀可寫可執行

第二位5:4+1,組用戶,可讀可執行

第三位5:4+1,其餘用戶,可讀可執行

畫外音:通常來講,寫了一個工具,只容許本身修改,不容許別人修改,但容許別人使用,這就是755。

相關文章
相關標籤/搜索