有的同學(xué)覺(jué)得網(wǎng)站被掛馬,查又查不出問(wèn)題,此時(shí)怎么辦?趕緊檢查下是不是技術(shù)把linux系統(tǒng)里網(wǎng)站的核心目錄設(shè)置777文件權(quán)限了。那么,777是什么?下面詳解:
一、當(dāng)用戶(hù)訪(fǎng)問(wèn)一個(gè)網(wǎng)頁(yè)
這個(gè)時(shí)候,你的服務(wù)器內(nèi)部發(fā)生了什么,請(qǐng)參考下圖。其中任何一個(gè)環(huán)節(jié)有漏洞,都會(huì)出問(wèn)題。注意,本圖片只代表個(gè)人理解,并非真實(shí)流程。
二、文件的權(quán)限只有三種
查詢(xún)一下linux的標(biāo)準(zhǔn)文檔,就知道。文件分為,讀、寫(xiě)、執(zhí)行三種權(quán)限。
rRead可以打開(kāi)并讀取內(nèi)容。
wWrite可以修改內(nèi)容,增加內(nèi)容,甚至刪除內(nèi)容。
xExecute可以當(dāng)做可執(zhí)行程序,或者shell腳本執(zhí)行。
特別注意,對(duì)于目錄來(lái)說(shuō),x表示可以瀏覽他里頭都有什么文件。
三、文件權(quán)限針對(duì)的是三類(lèi)用戶(hù)
owner文件所有者,或者說(shuō)是創(chuàng)建了這個(gè)文件的人。
group文件所在的組,一個(gè)組可以包含很多個(gè)owner,但不一定包含當(dāng)前文件這個(gè)owner。
other其他人,也就是除了當(dāng)前這個(gè)owner,除了當(dāng)前這個(gè)group外的所有人。
四、實(shí)際是什么樣子的
linux中所有文件都需要記錄這3種權(quán)限和3種人群。3x3=9,再加上一個(gè)標(biāo)記表示“這是不是一個(gè)目錄”,一共10個(gè)標(biāo)記。如圖所示:
這12行表示12個(gè)文件,都是一個(gè)叫sin的人創(chuàng)建,而且sin的分組是staff。
五、詳細(xì)解釋一下
我們從前到后逐一說(shuō)一遍。寫(xiě)著子母(drwx)的,表示有這個(gè)權(quán)限。寫(xiě)著橫線(xiàn)(-)的,表示沒(méi)有這個(gè)權(quán)限。
drwxrwxrwx
1:這是不是一個(gè)文件夾。d表示是,-表示否。(如果寫(xiě)的是l,可以理解為他是快捷方式)
2:owner是否可以讀取這個(gè)文件的內(nèi)容。r表示是,-表示否。
3:owner是否可以改寫(xiě)這個(gè)文件的內(nèi)容。w表示是,-表示否。
4:owner是否可以執(zhí)行這個(gè)文件。x表示是,-表示否
5:group是否可以讀取這個(gè)文件的內(nèi)容。r表示是,-表示否。
6:group是否可以改寫(xiě)這個(gè)文件的內(nèi)容。w表示是,-表示否。
7:group是否可以執(zhí)行這個(gè)文件。x表示是,-表示否。
8:other是否可以讀取這個(gè)文件的內(nèi)容。r表示是,-表示否。
9:other是否可以改寫(xiě)這個(gè)文件的內(nèi)容。w表示是,-表示否。
10:other是否可以執(zhí)行這個(gè)文件。x表示是,-表示否。
六、怎么用數(shù)字方便的表示文件權(quán)限
因?yàn)?0個(gè)位置中,第1個(gè)不是權(quán)限,我們就只看后邊9個(gè)位置。
如何把這個(gè)權(quán)限轉(zhuǎn)化成數(shù)字呢?rwxrw-r--
ownergroupother
符號(hào)rwxrw-r--
二進(jìn)制 111110100
相加之和764
111=2^2+2^1+2^0=7
110=2^2+2^1=6
100=2^2=4
所以rwxrw-r--就變成了:764
七、常用的權(quán)限數(shù)字
常用更改文件權(quán)限的命令,xxx代表文件名
600只有owner有讀和寫(xiě)的權(quán)限
644owner有讀和寫(xiě)的權(quán)限,group只有讀的權(quán)限
700只有ower有讀和寫(xiě)以及執(zhí)行的權(quán)限
666owner,group,other都有讀和寫(xiě)的權(quán)限
777owner,group,other都有讀和寫(xiě)以及執(zhí)行的權(quán)限
八、終于講到正題了
講了這么說(shuō),你應(yīng)該明白777的意思就是,任何人可以干任何事。那等于什么權(quán)限都沒(méi)設(shè)??!linux再安全也架不住自己人刻意制造漏洞吧。這完全等同于把鋼鐵俠屁股上的材料換成了窗戶(hù)紙。
linux的安全原則是小權(quán)限原則,能不給的權(quán)限就不要給。而很多懶惰或者新手的程序員往往為了省事使用大權(quán)限。
有的人問(wèn),網(wǎng)站需要上傳圖片,需要w很正常,否則圖片放哪呢。那我想問(wèn),你家的房子,是不是可以隨便挪動(dòng)?冰箱能挪動(dòng),承重墻能挪的動(dòng)嗎?請(qǐng)注意,客廳,臥室,廁所,廚房的空間都是rw的,但是承重墻只能是r的,不能隨便w。
同理,網(wǎng)站核心代碼是不可寫(xiě)的,只能可讀。
學(xué)會(huì)了權(quán)限的基本支持,怎么運(yùn)用呢?(只能說(shuō)大概意思,具體應(yīng)該怎么部署,還是找都運(yùn)維同學(xué)問(wèn)吧,我好久沒(méi)碰web了。)
假設(shè)我把核心代碼放在/var/www/,我把圖片放在/var/pic/。前者目錄rw,里頭所有文件r。后者本身w,里頭所有文件r
webserver只能解析/var/www/里的文件,不能執(zhí)行/var/pic/里的。這樣不至于讓人家把木馬程序放到/var/pic/里執(zhí)行。
由于每個(gè)網(wǎng)站使用的語(yǔ)言都不一樣,無(wú)法做一個(gè)統(tǒng)一說(shuō)明,只能舉幾個(gè)例子。假如你的網(wǎng)站使用php語(yǔ)言,植入的木馬基本也都是php語(yǔ)言寫(xiě)的命令。
可以分別試試這兩個(gè)命令,因?yàn)閜hp木馬常用eval和create_function來(lái)做壞事(說(shuō)/var/www/路徑不存在的同學(xué),面壁思過(guò)10分鐘)。
grep"eval("/var/www/*-r
grep"create_function("/var/www/*-r
請(qǐng)注意,并不是沒(méi)有用777權(quán)限,就萬(wàn)無(wú)一失了,web的漏洞多如牛毛,無(wú)孔不入,本文章只是拋磚引玉。
網(wǎng)頁(yè)設(shè)計(jì)
企業(yè)網(wǎng)站建設(shè)一條龍
找零度飛易網(wǎng)絡(luò)公司-fslingdu所做php
網(wǎng)站建設(shè)方案、
網(wǎng)站設(shè)計(jì)、
網(wǎng)站制作由
北京上海深圳龍崗衢州蘭州常州東營(yíng)南通濟(jì)寧桂林淮安煙臺(tái)長(zhǎng)春無(wú)錫天津昆山蘇州合肥貴洛陽(yáng)昆明天津唐山泉州惠州萬(wàn)州新鄉(xiāng)商丘臺(tái)州哈爾濱太原攝影???/strong>隨州學(xué)校商丘廣東湖南廣西江西海南廣州企業(yè)中小企業(yè)武漢南山羅湖福田虎門(mén)肇慶汕尾汕頭廣州佛山成都杭州濟(jì)南重慶福州西安廈門(mén)昆山沈陽(yáng)青島徐州鄭州南京寧南寧長(zhǎng)沙大連淄博石家莊南昌溫州珠海番禺順德南三水高明中山東莞合肥江門(mén)嘉興西寧大良容桂倫教勒流陳村均安杏壇龍江樂(lè)從北滘祖廟石灣南莊等地區(qū)企業(yè)網(wǎng)站建設(shè)(廣告)公司提供專(zhuān)業(yè)做網(wǎng)站價(jià)格規(guī)劃書(shū)及營(yíng)銷(xiāo)型網(wǎng)站制作,網(wǎng)站建設(shè)基礎(chǔ)知識(shí)