在建站的時候給目錄分配權限是非常重要的,也是建站的程式設計師們必須要會的,以下這篇文章主要給大家總結了在linux下建站目錄分配權限的經驗技巧,需要的朋友可以參考借鑒,下面來一起看看吧。
前言
在網路上搜尋網站資料夾權限設定一般都是是: 資料夾權限最小權限755 檔案最小權限644
檔案的可讀可寫可執行很容易理解,但資料夾的權限就需要好好梳理梳理啦,以下是自己的一些經驗分享給大家,需要的一起來看看詳細的介紹:
前期工作
先建立一個資料夾test
mkdir test
在該目錄下建立一個1.txt檔案並寫入111
cat > 1.txt 111
現在退出該目錄來一個一個分析改目錄權限
不要用root使用者來建立資料夾,因為檔案權限配置對root使用者無效
#目錄的可執行權限
chmod 111 test
經過測試,此時只能cd test
進入目錄,但既無法ls列目錄,也無法touch 2.txt
一個新的文件,但cat 1.txt
還是可以讀取到內容的
於是我們總結
目錄的可執行權限是使用者可以進入或說切換到該目錄下,但無法列目錄和建立新文件,能讀取原來文件是屬於文件的權限設定為可讀
#目錄的可寫權限
chmod 222 test
最直觀的變化是該目錄顏色變深了( ps,檔案賦予可執行權限時也會顏色變深)
可以嘗試一些我們常見的指令
ls test cd test cat test/1.txt touch test/2.txt
結果是什麼都不能做
ubuntu@VM-8-81-ubuntu:~$ ls test ls: cannot open directory test: Permission denied ubuntu@VM-8-81-ubuntu:~$ cd test bash: cd: test: Permission denied ubuntu@VM-8-81-ubuntu:~$ cat test/1.txt cat: test/1.txt: Permission denied ubuntu@VM-8-81-ubuntu:~$ touch test/2.txt touch: cannot touch ‘test/2.txt': Permission denied
現在我們在給改目錄加上可執行權限
chmod 333 test
發現,除了無法正常ls列目錄外,其餘cd touch cat
都可以執行,因此得出總結
linux 資料夾想要建立文件,必須要有可寫可執行權限,即權限大小為333,如果只給寫權限,就什麼都乾不了
目錄的可讀權限
chmod 444 test
ubuntu@VM-8-81-ubuntu:~$ ls test ls: cannot access test/1.txt: Permission denied ls: cannot access test/2.txt: Permission denied 1.txt 2.txt ubuntu@VM-8-81-ubuntu:~$ cd test bash: cd: test: Permission denied ubuntu@VM-8-81-ubuntu:~$ cat test/1.txt cat: test/1.txt: Permission denied
總結: 目錄的可讀權限可以列目錄
網站只有可讀權限只能列目錄,其他cd cat都無法執行,那麼如果網站設定555的權限是什麼
ubuntu@VM-8-81-ubuntu:~$ chmod 555 test ubuntu@VM-8-81-ubuntu:~$ cd test/ ubuntu@VM-8-81-ubuntu:~/test$ ls 1.txt 2.txt ubuntu@VM-8-81-ubuntu:~/test$ touch 3,txt touch: cannot touch ‘3,txt': Permission denied
可以看到,除了touch指令無法建立新檔案外,其他指令還是都可以執行的
到了這裡,自然容易推出666權限的資料夾是可讀可寫入但無可執行權限,無法進入該目錄,但有了可讀可寫,基本權限也都有了,777權限即為資料夾的最大權限了
在回過頭分析文章第一句話,建站時資料夾的最低權限是755,檔案最低權限為644
這裡有一個使用者權限分配問題
chmod修改權限時,每個檔案或目錄的存取權限都有三組,每組用三位表示,分別為文件屬主的讀、寫和執行權限;與屬主同組的用戶的讀、寫和執行權限;系統中其他用戶的讀、寫和執行權限
資料夾權限7和檔案權限6都是給linux管理用戶分配的,apache預設給訪問網站的用戶為www普通用戶,因此文件的權限755即普通用戶只能有查看和瀏覽網站的權限,但無創建文件或上傳文件的權限,一般如果需要某個特殊文件夾比如upload或tmp文件夾存儲一些臨時文件,需要設置文件夾權限為777,文件權限644即只能查看但不能修改
以上是如何在linux下建站目錄分配權限的詳細內容。更多資訊請關注PHP中文網其他相關文章!