Linux 修改文件夾權限

轉自: https://www.cnblogs.com/fefjay/p/6047820.html


0.說明

Linux系統下常常遇到文件或者文件夾的權限問題,或者是由於文件夾所屬的用戶問題而沒有訪問的權限。根據我本身遇到的狀況,對這類問題作一個小結。
在命令行使用命令「ll」或者「ls -a」,能夠查看文件或者文件的權限:css

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

其中「-rw-r--r--」表示權限,一共有十個字符。html

第一個字符,若是是「-」則表示是文件,若是是「d」則表示是目錄(directory)。lua

後面9個字符每3個字符又做爲一個組,則有3組信息(「rw-」、「r--」、「r--」),分別表示所屬用戶自己具備的權限、所屬用戶的用戶組其餘成員的權限、其餘用戶的權限。spa

每一組信息如「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,則爲:code

[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改文件夾的權限

改以前:htm

[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:blog

[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。ast

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   「權限」或「名:組」    文件夾名稱