Linux 文件權(quán)限管理
查看文件和目錄的權(quán)限
概述
ls –al 使用 ls 不帶參數(shù)只顯示文件名稱,通過 ls –al 可以顯示文件或者目錄的權(quán)限信息。
ls -l 文件名 顯示信息包括:文件類型 (d 目錄,- 普通文件,l 鏈接文件),文件權(quán)限,文件的用戶,文件的所屬組,文件的大小,文件的創(chuàng)建時(shí)間,文件的名稱
-rw-r--r-- 1 lusifer lusifer 675 Oct 26 17:20 .profile
-
-:普通文件 -
rw-:說明用戶 lusifer 有讀寫權(quán)限,沒有運(yùn)行權(quán)限 -
r--:表示用戶組 lusifer 只有讀權(quán)限,沒有寫和運(yùn)行的權(quán)限 -
r--:其他用戶只有讀權(quán)限,沒有寫權(quán)限和運(yùn)行的權(quán)限
| -rw-r--r-- | 1 | lusifer | lusifer | 675 | Oct 26 17:20 | .profile |
|---|---|---|---|---|---|---|
| 文檔類型及權(quán)限 | 連接數(shù) | 文檔所屬用戶 | 文檔所屬組 | 文檔大小 | 文檔最后被修改日期 | 文檔名稱 |
| - | rw- | r-- | r-- |
|---|---|---|---|
| 文檔類型 | 文檔所有者權(quán)限(user) | 文檔所屬用戶組權(quán)限(group) | 其他用戶權(quán)限(other) |
文檔類型
-
d表示目錄 -
l表示軟連接 -
–表示文件 -
c表示串行端口字符設(shè)備文件 -
b表示可供存儲(chǔ)的塊設(shè)備文件 - 余下的字符 3 個(gè)字符為一組。
r只讀,w可寫,x可執(zhí)行,-表示無此權(quán)限
連接數(shù)
指有多少個(gè)文件指向同一個(gè)索引節(jié)點(diǎn)。
文檔所屬用戶和所屬組
就是文檔屬于哪個(gè)用戶和用戶組。文件所屬用戶和組是可以更改的
文檔大小
默認(rèn)是 bytes
更改操作權(quán)限
chown
是 change owner 的意思,主要作用就是改變文件或者目錄所有者,所有者包含用戶和用戶組
chown [-R] 用戶名稱 文件或者目錄chown [-R] 用戶名稱 用戶組名稱 文件或目錄
-R: 進(jìn)行遞歸式的權(quán)限更改,將目錄下的所有文件、子目錄更新為指定用戶組權(quán)限
chmod
改變?cè)L問權(quán)限
chmod [who] [+ | - | =] [mode] 文件名
who
表示操作對(duì)象可以是以下字母的一個(gè)或者組合
- u:用戶 user
- g:用戶組 group
- o:表示其他用戶
- a:表示所有用戶是系統(tǒng)默認(rèn)的
操作符號(hào)
- +:表示添加某個(gè)權(quán)限
- -:表示取消某個(gè)權(quán)限
- =:賦予給定的權(quán)限,取消文檔以前的所有權(quán)限
mode
表示可執(zhí)行的權(quán)限,可以是 r、w、x
文件名
文件名可以使空格分開的文件列表
示例
lusifer@UbuntuBase:~$ ls -al test.txt
-rw-rw-r-- 1 lusifer lusifer 6 Nov 2 21:47 test.txt
lusifer@UbuntuBase:~$ chmod u=rwx,g+r,o+r test.txt
lusifer@UbuntuBase:~$ ls -al test.txt
-rwxrw-r-- 1 lusifer lusifer 6 Nov 2 21:47 test.txt
lusifer@UbuntuBase:~$
數(shù)字設(shè)定法
數(shù)字設(shè)定法中數(shù)字表示的含義
- 0 表示沒有任何權(quán)限
- 1 表示有可執(zhí)行權(quán)限 =
x - 2 表示有可寫權(quán)限 =
w - 4 表示有可讀權(quán)限 =
r
也可以用數(shù)字來表示權(quán)限如 chmod 755 file\_name
| r w x | r – x | r - x |
|---|---|---|
| 4 2 1 | 4 - 1 | 4 - 1 |
| user | group | others |
- 若要 rwx 屬性則 4+2+1=7
- 若要 rw- 屬性則 4+2=6
- 若要 r-x 屬性則 4+1=5
lusifer@UbuntuBase:~$ chmod 777 test.txt
lusifer@UbuntuBase:~$ ls -al test.txt
-rwxrwxrwx 1 lusifer lusifer 6 Nov 2 21:47 test.txt
lusifer@UbuntuBase:~$ chmod 770 test.txt
lusifer@UbuntuBase:~$ ls -al test.txt
-rwxrwx--- 1 lusifer lusifer 6 Nov 2 21:47 test.txt