最近跟一個運維人員學了點新東西,感覺以前沒怎么注意,但現在感覺很有用,特來記錄一下。
linux使用ll命令列出列表的時候,前面總是有一堆drwxr-xr-x ,這些代表什么意思從來還沒有去在意過,只是找到自己的目錄然后一頓操作完事。但是這次在tomcat下部署項目的時候怎么都不能啟動,后來找來運維人員一看是因為沒有權限,他就告訴我這些都是什么意思,然后我也自己查了一下資料,這里就整理一下,也方便自己記憶。
首先,這些字母表示的是權限的意思
權限的計算從第二位字母開始,三個符號為一組合,其中-表示沒有這個權限,那么先拿drwxr-xr-x簡單解釋一下:
- d:這一位表示文件類型。d是目錄文件,l是鏈接文件,-是普通文件,p是管道
- rwx:這三位(2-4位)表示這個文件的屬主擁有的權限,r是讀,w是寫,x是執行。這里表示這個屬主同時擁有讀、寫、執行權限
- r-x:這三位(5-7位)表示和這個文件屬主所在同一個組的用戶所具有的權限。這里表示的是有讀和執行權限,沒有寫權限
- r-x:這三位(8-10位)表示其他用戶所具有的權限。這里表示的是有讀和執行權限,沒有寫權限
其次,使用ls -l(或者ll)命令列出后每一行代表的含義
- 第1段: 文件屬性字段:文件屬性字段總共有10個字母組成,第一個字母表示文件類型,如果這個字母是一個減號”-”,則說明該文件是一個普通文件。字母”d”表示該文件是一個目錄,字母”d”,是dirtectory(目錄)的縮寫。
注意,一個目錄或者說一個文件夾是一個特殊文件,這個特殊文件存放的是其他文件和文件夾的相關信息。 - 第2段:文件硬鏈接數或目錄子目錄數
- 第3段:文件擁有者
- 第4段:文件擁有者所在的組
- 第5段:文件文件大小(以字節為單位)
- 第6段:文件創建月份
- 第7段:文件創建日期
- 第8段:文件創建時間
- 第9段:文件名 (如果是一個符號鏈接,那么會有一個 “->”箭頭符號,后面根一個它指向的文件)
可以拿下面這個比對一下:
drwxr-xr-x 1 62323 197609 0 4月 21 14:16 bin/
drwxr-xr-x 1 62323 197609 0 4月 21 14:16 cmd/
drwxr-xr-x 1 62323 197609 0 4月 21 14:16 dev/
drwxr-xr-x 1 62323 197609 0 4月 21 14:16 etc/
-rwxr-xr-x 1 62323 197609 149784 2月 26 19:48 git-bash.exe*
最后就是賦權時數字的含義
使用chmod賦權的時候,我們通常會這樣寫:
chmod 777 test.txt
那么上面的777 代表的含義是這樣的:
- r:read 表示讀權限 --數字4表示
- w:write 表示寫權限 --數字2表示
- x:excute 表示執行權限 --數字1表示
- 第一個7:表示屬主擁有4+2+1的權限也就是同時有讀,寫,執行權限
- 第二個7:表示與屬主同一個組的所有用戶擁有4+2+1的權限
- 第三個7:表示其他用戶擁有4+2+1的權限
所以這里可以看出來這個777具有的威力(賦權一定要謹慎!)
再比如:rwxrwxr-- 774
表示此文件(文件夾)的擁有者和同組用戶有讀寫及執行權限,其他用戶組只有讀權限。也就是前面三個表示所有者權限,中間三個表示同組用戶權限,最后一組表示其他用戶權限(不包括root)。
最后舉個詳解案例:
drwxr-xr-x 1 62323 197609 0 4月 21 14:16 bin/
其中:
- d:表示bin是目錄
- rwx:表示62323屬主擁有的權限是可讀(r),可寫(w)和可執行(x)
- r-x(5-7位):表示與62323這個屬主在同一個組(197609)的用戶的權限是可讀(r)和可執行(x)
- r-x(8-10位):表示其他用戶擁有的權限是可讀(r)和可執行(x)
- 1:文件硬鏈接數或目錄子目錄數為 1
- 62323:表示我筆記本電腦的一個用戶(是我的qq號的前幾位)
- 197609:表示62323這個用戶所屬的組group
- 0:表示文件大小是0字節
- 4月:表示創建月份是4月
- 21:創建日期是21日
- 14:16:表示創建時間是下午的14:16
- bin/:表示的文件名稱,這里指的是目錄名稱