- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機構(gòu):新網(wǎng)數(shù)碼
在windows上運行好好的項目,遷移到Linux上就遇到了很多問題,其中最為重要的是網(wǎng)站目錄權(quán)限的設(shè)置,當(dāng)然簡單期間你可以用 命令
"chmod 777 -R you web site" ,這樣你就不用擔(dān)心項目運行的時候會涉及到權(quán)限問題。通常來說如果你的項目時部署在公網(wǎng)或者是部
署在租用的Linux服務(wù)器上不建議這么做,應(yīng)為如果這樣設(shè)置了那么任何用戶都可以對這個站點下的文件,目錄進行操作,這樣也會影響網(wǎng)站的運營,
同樣不安全。下面以ubuntu14.4 系統(tǒng)為主進行分析。
最簡單的做法如下,這里不建議這么做(例如你的網(wǎng)站部署目錄為/var/www/html):
chmod 777 -R /var/www/html/demo
在ubuntu 安裝完apache 之后,默認會往系統(tǒng)中增加www-data 用戶 和 www-data 用戶組,同樣你可以用 ps -ef | grep apache 查看 apache 進程,你會發(fā)現(xiàn)apache的
主進程是用root用戶啟動的,那么子線程的用戶都是 www-data 這個用戶。
這樣你就可以理解為這個apache服務(wù)器運行的用戶和用戶組是www-data,假設(shè)網(wǎng)站的用戶為demo,項目的目?為/var/www/html/demo
接下來就分幾個步驟來設(shè)置(用root用戶執(zhí)行下面的命令):
1.首先把網(wǎng)站的的目錄和文件的所有者設(shè)置為demo,所屬組設(shè)置為www-data ,對與Linux命令不熟悉的,可以到網(wǎng)上查詢。
chown -R demo:www-data /var/www/html/demo
2.設(shè)置網(wǎng)站目錄權(quán)限為750,750是demo這個用戶對目錄擁有讀寫執(zhí)行的權(quán)限,這樣demo用戶可以在任何目錄下創(chuàng)建文件,用戶組有有讀執(zhí)行權(quán)限,這樣就有進入目錄的權(quán)限,其它用戶沒有任何權(quán)限。
chmod 750 /var/www/html/demo cd /var/www/html/demofind -type d -exec chmod 750 {} ;
3.設(shè)置網(wǎng)站文件權(quán)限為640,640指只有demo用戶對網(wǎng)站文件有更改的權(quán)限,apache服務(wù)器只有讀取文件的權(quán)限,無法更改文件,其它用戶無任何權(quán)限。
find -not -type d -exec chmod 640 {} ;
4.需要針對個別目錄來設(shè)置權(quán)限,以Thinkphp為例,它的Runtime 目錄存儲的有日志文件,還有與數(shù)據(jù)庫做ORM映射的數(shù)據(jù)庫表信息,這說明apache服務(wù)器要對這些目錄
有訪問的權(quán)限,并且對于線面的日志文件有寫入的權(quán)限,那么這樣就需要對于這些特殊目錄設(shè)置。
cd /var/www/html/demofind . -name "Runtime" -type d -exec chmod -R 770 {} ;
執(zhí)行上面的命令請注意 “{}”與 “”之間是有空格的,上面的-R參數(shù)是遞歸給Runtime 目錄下面的目錄和文件賦予 770 權(quán)限,當(dāng)然了你會說日志文件是不需要執(zhí)行權(quán)限的,
不過這里沒關(guān)系,當(dāng)你把日志文件刪除掉之后,生成出來的文件是沒執(zhí)行權(quán)限的。因為當(dāng)你把日志文件刪除掉之后,那么生成日志文件的的用戶和所有者都是www-data,
所以新的日志文件權(quán)限就會變成下面這樣:
這樣整個站點你就可以通過這種方式管理起來了。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP