Linux命令----chmod/chown

說明


在命令行使用命令「ll」或者「ls -a」,能夠查看文件或者文件的權限:spa

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

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

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

後面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

chmod [who] [+ | - | =] [mode] 文件名
  命令中各選項的含義爲:
  操做對象who但是下述字母中的任一個或者它們的組合:
  u 表示「用戶(user)」,即文件或目錄的全部者。
  g 表示「同組(group)用戶」,即與文件屬主有相同組ID的全部用戶。
  o 表示「其餘(others)用戶」。
  a 表示「全部(all)用戶」。它是系統默認值。
  操做符號能夠是:
  + 添加某個權限。
  - 取消某個權限。
  = 賦予給定權限並取消其餘全部權限(若是有的話)。進程

設置mode所表示的權限可用下述字母的任意組合:
  r 可讀。
  w 可寫。
  x 可執行。
  X 只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x 屬性。
  s 在文件執行時把進程的屬主或組ID置爲該文件的文件屬主。方式「u+s」設置文件的用戶ID位,「g+s」設置組ID位。
  t 保存程序的文本到交換設備上。
  u 與文件屬主擁有同樣的權限。
  g 與和文件屬主同組的用戶擁有同樣的權限。
  o 與其餘用戶擁有同樣的權限。ast

1.1改文件的權限

我想修改文件a.txt的權限爲755,則爲:test

[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.總結

修改單個文件(夾)就用命令:

chown或chmod    「權限」或「名:組」    文件(夾)名稱

修改文件夾及子文件夾全部文件就用命令:

chown或chmod  -R   「權限」或「名:組」    文件夾名稱
相關文章
相關標籤/搜索