最近工作時需要用到Linux文件系統(tǒng)權(quán)限方面的知識,特意做了一些了解。
Linux文件系統(tǒng)權(quán)限基本知識
當(dāng)我們使用ls -l 命令 或ll 命令可以以列表的形式查看文件
[appuser@localhost app]$ ls -l
total 0
drwxr-xr-x 6 appuser rd 190 Aug 27 09:44 download
drwxr-xr-x 3 appuser rd 69 Aug 12 08:45 handle
drwxr-xr-x 7 appuser rd 267 May 26 16:30 jdk1.8.0_241
drwxr-xr-x 10 appuser rd 152 Aug 27 09:50 nginx
我們可以看到第一列 drwxr-xr-x共十個字符,分別代表如下含義
| 位置 | 常見取值 | 含義 |
|---|---|---|
| 第1位 | d\l\-... | d代表是一個目錄 l代表是一個鏈接 -代表是一個文件等等。其他含義可自行百度 |
| 第2\5\8位 | r\- | r代表讀權(quán)限 -代表沒有對應(yīng)權(quán)限 第2位的r代表文件所屬用戶擁有的權(quán)限 第5位代碼文件所屬用戶組的用戶擁有的權(quán)限 第8位代表其他用戶擁有的權(quán)限 |
| 第3\6\9位 | w\- | w代表寫權(quán)限 -代表沒有對應(yīng)權(quán)限 第3位的r代表文件所屬用戶擁有的權(quán)限 第6位代碼文件所屬用戶組的用戶擁有的權(quán)限 第9位代表其他用戶擁有的權(quán)限 |
| 第4\7\10位 | x\- | x代表執(zhí)行權(quán)限 第4位的r代表文件所屬用戶擁有的權(quán)限 第7位代碼文件所屬用戶組的用戶擁有的權(quán)限 第10位代表其他用戶擁有的權(quán)限 |
常見的文件權(quán)限管理方案
通常我們會用來進行文件權(quán)限管理:如下場景
用戶A、B、C都需要向某系統(tǒng)D發(fā)送文件。因文件過大且低頻,四方?jīng)Q定使用ftp的方式發(fā)送。D系統(tǒng)希望在服務(wù)器上創(chuàng)建了分別為三個用戶創(chuàng)建了用戶ua(用戶組ga)、ub(用戶組gb)、uc(用戶組gc)及文件夾a、b、c,希望各個用戶可以訪問各自的目錄,但不可以訪問其他用戶的目錄,以避免信息泄露。而系統(tǒng)D在處理的文件的時候可以采用統(tǒng)一的用戶進行讀、寫、移動、刪除操作。
因此將目錄a、b、c分別修改為ua、ub、uc所有,目錄權(quán)限設(shè)為770,所屬用戶組修改為D系統(tǒng)所用的用戶組gd,gd不含用戶a、b、c。
這樣由于用戶ua、ub、uc分別有各自目錄的rwx權(quán)限,因此可以cd目錄并創(chuàng)建創(chuàng)建文件,且用戶無法訪問不屬于自己的目錄。
用戶ud屬于用戶組gd,擁有三個目錄的rwx權(quán)限,可以cd目錄并移動、創(chuàng)建、刪除文件。