最近在面試中,問到了 Linux 777 權限表示什么,各數字的含義又是什么。小格子通過自己的理解和查找的資料,做了如下總結,希望讀者們遇到此問題時,可以快速又正確的回答。
1、三種權限
Linux 下的每個文件都有以下三種權限
-
r:表示讀取,對應的數字為 4;
-
w:表示寫入,對應的數字為 2;
-
x:表示執行,對應的數字為 1
通過 4、2、1 的組合,我們可以得到以下幾種權限
- 0:沒有權限,用 - 表示
- 4:讀取權限,用 w 表示
- 5:讀取和執行權限,用 rx 表示
- 6:讀取和寫入權限,用 rw 表示
- 7:讀取、寫入和執行權限,用 rwx 表示
在 Linux 系統里,我們可以輸入 ll 命令,可以看到文件的權限。
2、三個對象
在上面已經說明 7 表示讀取、寫入和執行權限。但是為啥是三位數字呢?比如 777。
其實,三位是指三個不同的對象,
- User:文件所屬者
- Group:文件所屬組
- Other:其他人
3、修改權限
Linux 修改文件權限的命令為
chmod 777 文件名
例如:
chmod 777 geshanzsq.tar
用 rwxrwxrwx 表示,賦予 geshanzsq.tar 文件所屬者、文件所屬組和其他人都有讀取、寫入和執行權限的全部權限,也是最高權限。
Linux 修改目錄下的所有文件權限的命令為
chmod -R 764 目錄名
例如:
chmod -R 764 geshanzsq/
用 rwxrx---x 表示,賦予 geshanzsq 目錄下所有文件的文件所屬者全部權限,文件所屬組的的讀取和寫入權限,而其他人只有讀取權限。
4、常用文件權限
- 444:用 r--r--r-- 表示,文件所屬者、文件所屬組和其他人只有讀取權限
- 600:用 rw------- 表示,文件所屬者有讀取和寫入權限,文件所屬組和其他人無權限
- 644:用 rw-r--r-- 表示,文件所屬者有讀取和寫入權限,文件所屬組和其他人只有讀取權限
- 666:用 rw-rw-rw- 表示,文件所屬者、文件所屬組和其他人有讀取和寫入權限
- 700:用 rwx------ 表示,文件所屬者有全部權限,文件所屬組和其他人無權限
- 744:用 rwxr--r-- 表示,文件所屬者有全部權限,文件所屬組和其他人有讀取權限
- 755:用 rwxr-xr-x 表示,文件所屬者有全部權限,文件所屬組和其他人有讀取和執行權限
- 777:用 rwxrwxrwx 表示,文件所屬者、文件所屬組和其他人有全部權限
5、常用實用命令
之前已經寫過一篇文章,具體請點擊查看 Linux 常用實用命令
6、擴展
如果細心的你,可能會發現英文表示權限的前面還有一個字符,比如下面的 l、d、-。這些表示什么呢?
- l:表示此文件為軟鏈接,相當於 Windows 的快捷方式。在圖中也可以發現此文件的具體目錄,比如圖片中的 bin 文件
- d:表示文件為目錄,比如圖片中的 images 目錄
- -:表示文件為普通文件,比如圖片中的 geshanzsq.txt 文件