1. 程式人生 > >CentOS 修改資料夾許可權、所屬使用者和使用者組

CentOS 修改資料夾許可權、所屬使用者和使用者組

說明

Linux系統下經常遇到檔案或者資料夾的許可權問題,或者是因為資料夾所屬的使用者問題而沒有訪問的許可權。根據我自己遇到的情況,對這類問題做一個小結。
在命令列使用命令“ll”或者“ls -a”,可以檢視檔案或者檔案的許可權:

-rw-r--r--. 1 root root 6 Nov  9 16:42 a.txt

其中“-rw-r–r–”表示許可權,一共有十個字元。

第一個字元,如果是“-”則表示是檔案,如果是“d”則表示是目錄(directory)。

後面9個字元每3個字元又作為一個組,則有3組資訊(“rw-”、“r–”、“r–”),分別表示所屬使用者本身具有的許可權、所屬使用者的使用者組其他成員的許可權、其他使用者的許可權。

每一組資訊如“rw-”,每一個字元都有它自己的特定含義且先後位置是固定的,其中r是讀許可權、w是寫許可權、x是可執行許可權、-沒有對應字元的許可權。Linux裡面對這些字元設定對應的數值,r是4,w是2,x是1,-是0。上面的“rw-”則是6(=4+2+0),所以最開始a.txt的許可權是644,屬於root使用者組的root使用者。

1.修改許可權chmod

1.1改檔案的許可權

我想修改檔案a.txt的許可權為755,則為:

[root@master my]# ll
-rw-r--r--. 1 root root 6 Nov  9 16:42 a.txt #改之前許可權是644
[root@master my
]# chmod 755 a.txt [root@master my]# ll -rwxr-xr-x. 1 root root 6 Nov 9 16:42 a.txt #改後許可權是755

1.2改資料夾的許可權

改之前:

[root@master test1]# ll
drw-r--r--. 2 root root 4096 Nov  9 16:42 my #改之前資料夾my的許可權是644
[root@master test1]# ll my/
-rwxr-xr-x. 1 root root 6 Nov  9 16:42 a.txt #改之前資料夾my的裡面的檔案許可權是755

1.2.1只改變資料夾本身許可權,不改動子檔案(夾)

執行命令修改my資料夾許可權為600:

[root@master test1]# chmod 600 my/  #修改命令
[root@master test1]# ll
drw-------. 2 root root 4096 Nov  9 16:42 my #改my資料夾之後許可權是600
[root@master test1]# ll my/
-rwxr-xr-x. 1 root root 6 Nov  9 16:42 a.txt #改my資料夾之後裡面的檔案許可權還是755,沒有變化

1.2.2改變資料夾及子目錄下所有檔案(夾)許可權

執行1.2.1步驟之後,my資料夾和裡面的檔案許可權都是不同的。現在遞迴修改,都改為統一的許可權777:

[root@master test1]# chmod -R 777 my/ #修改命令,注意中間是大寫的R,不是小寫
[root@master test1]# ll
drwxrwxrwx. 2 root root 4096 Nov  9 16:42 my #修改後my資料夾許可權是777
[root@master test1]# ll my/
-rwxrwxrwx. 1 root root 6 Nov  9 16:42 a.txt #修改後裡面的檔案變為了777

2.修改所屬使用者和使用者組chown

這個和修改資料夾的許可權是基本相同的,只不過是把chmod命令換成了chown。

2.1修改檔案所屬使用者和使用者組

修改a.txt檔案所屬使用者(jay)和使用者組(fefjay):

chown jay:fefjay a.txt #修改檔案所屬使用者為jay,所屬使用者組為fefjay

2.2修改資料夾所屬使用者和使用者組

1.2.1只改資料夾本身所屬使用者和使用者組,不改子檔案(夾)

僅修改資料夾my本身所屬使用者(jay)和使用者組(fefjay):

chown jay:fefjay my #修改檔案所屬使用者為jay,所屬使用者組為fefjay

2.2.2改變資料夾及所有子檔案(夾)所屬使用者和使用者組

遞迴修改資料夾my及包含的所有子檔案(夾)的所屬使用者(jay)和使用者組(fefjay):

chown -R jay:fefjay my #修改檔案所屬使用者為jay,所屬使用者組為fefjay

3.總結

修改單個檔案(夾)就用命令:

chownchmod    “許可權”或“名:組”    檔案(夾)名稱

修改資料夾及子資料夾所有檔案就用命令:

chownchmod  -R   “許可權”或“名:組”    資料夾名稱