首頁 > 軟體

Linux chmod目錄許可權命令圖文詳解

2020-06-16 16:39:08

在Linux檔案系統模型中,每個檔案都有一組9個許可權位用來控制誰能夠讀寫和執行該檔案的內容。普通檔案大家都了解,這裡說說目錄的情況。

對於目錄來說,執行位的作用是控制能否進入或者通過該目錄,而不是控制能否列出它的內容。讀取位和執行位的組合的作用才是控制是否列出目錄中的內容。寫入位和執行位的組合則是允許在目錄中建立,刪除,和重新命名檔案。

下面用範例來說明問題:主要命令為chmod

普通使用者建立資料夾linuxidc,預設許可權為775

linuxidc@Ubuntu:~/linuxidc.com$ mkdir linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls
linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
drwxr-xr-x 2 linuxidc linuxidc 4096 Feb 16 20:18 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
total 0

更改目錄許可權到700,目錄內可列可建立檔案

linuxidc@ubuntu:~/linuxidc.com$ chmod 700 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ uptime > linuxidc/uptime
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
drwx------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
total 4
-rw-r--r-- 1 linuxidc linuxidc 61 Feb 16 20:22 uptime
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime
 20:22:23 up 13:22,  1 user,  load average: 0.00, 0.08, 0.20

更改目錄許可權到400,目錄內不可列詳情,不可CAT,不可建立檔案

linuxidc@ubuntu:~/linuxidc.com$ chmod 400 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
ls: cannot access 'linuxidc/uptime': Permission denied
total 0
-????????? ? ? ? ?            ? uptime
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
dr-------- 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime
cat: linuxidc/uptime: Permission denied
linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linuxmi
touch: cannot touch 'linuxidc/linuxmi': Permission denied

更改目錄許可權到100,目錄內不可列,目錄可進入,不可建立檔案,可Cat內檔案(當然檔案的許可權要有,而且知道它的名字,不能聯想)

linuxidc@ubuntu:~/linuxidc.com$ chmod 100 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
d--x------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
ls: cannot open directory 'linuxidc/': Permission denied
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/uptime
-rw-r--r-- 1 linuxidc linuxidc 61 Feb 16 20:22 linuxidc/uptime
linuxidc@ubuntu:~/linuxidc.com$ cd linuxidc/
linuxidc@ubuntu:~/linuxidc.com/linuxidc$ ls -l
ls: cannot open directory '.': Permission denied
linuxidc@ubuntu:~/linuxidc.com/linuxidc$ cat uptime
 20:22:23 up 13:22,  1 user,  load average: 0.00, 0.08, 0.20
linuxidc@ubuntu:~/linuxidc.com/linuxidc$ touch linuxmi
touch: cannot touch 'linuxmi': Permission denied

更改目錄許可權到200,目錄內不可列,不可CAT,不可建立檔案,

linuxidc@ubuntu:~/linuxidc.com$ chmod 200 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
d-w------- 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
ls: cannot open directory 'linuxidc/': Permission denied
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime
cat: linuxidc/uptime: Permission denied
linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linuxidc
touch: cannot touch 'linuxidc/linuxidc': Permission denied

更改目錄許可權到500,目錄內可列,可CAT,不可建立檔案,

linuxidc@ubuntu:~/linuxidc.com$ chmod 500 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
dr-x------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
total 4
-rw-r--r-- 1 linuxidc linuxidc 61 Feb 16 20:22 uptime
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime
 20:22:23 up 13:22,  1 user,  load average: 0.00, 0.08, 0.20
linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linuxidc.com
touch: cannot touch 'linuxidc/linuxidc.com': Permission denied

更改目錄許可權到300,目錄內不可列,可CAT(當然檔案的許可權要有,而且知道它的名字,不能聯想),可建立檔案,

linuxidc@ubuntu:~/linuxidc.com$ chmod 300 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
d-wx------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
ls: cannot open directory 'linuxidc/': Permission denied
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime
 20:22:23 up 13:22,  1 user,  load average: 0.00, 0.08, 0.20
linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linux
linuxidc@ubuntu:~/linuxidc.com$

備註:700=rwx, 400=r, 100=x, 200=w, 500=rx, 300=wx


IT145.com E-mail:sddin#qq.com