如果你是Linux系統管理員或開發者,那麼你一定會遇到檔案權限的問題。在Linux中,檔案權限可以透過 chmod 指令進行設定和修改,但這個指令的使用方法相當地複雜,給許多初學者帶來了不少困擾。今天,我們就來深入探討 chmod 指令,讓 Linux 權限管理不再成為你的惡夢。
對目錄來說,執行位的作用是控制能否進入或透過該目錄,而不是控制能否列出它的內容。讀取位元和執行位的組合的功能是控制是否列出目錄中的內容。寫入位元和執行位的組合則是允許在目錄中創建,刪除,和重新命名檔案。
下面用實例來說明問題:主要指令為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
透過本文的介紹,我們已經深入了解與學習Linux中常用的檔案權限管理指令chmod。從命令語法、權限類型、數字代表及實際使用場景這些方面進行了詳細的說明,相信對初學者來說非常有幫助。同時,建議大家多多練習並且結合實際操作加深對於文件權限的理解與掌握。正確的權限管理可以確保系統的安全性和穩定性,也是維運工作中不可或缺的一部分!
以上是不再害怕chmod指令,讓Linux權限管理不再成為你的惡夢!的詳細內容。更多資訊請關注PHP中文網其他相關文章!