国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

排查Apache無(wú)法啟動(dòng)故障

2018-03-04 23:00
網(wǎng)絡(luò)安全和信息化 2018年8期
關(guān)鍵詞:命令進(jìn)程端口

故障現(xiàn)象

單位的一臺(tái)Apache服務(wù)器在一次意外宕機(jī),重新啟動(dòng)后,管理員執(zhí) 行“/usr/local/apache2/bin/apachectrl start”命令,卻出 現(xiàn)了“Permission Denied:make_cock:cound not bind to address[::]:80,no listening sockets available,shutdown,Unable to open logs”之類的提示,造成無(wú)法啟動(dòng)Apache,在其上運(yùn)行的網(wǎng)站平臺(tái)也無(wú)法正常使用。執(zhí)行“whoami”命令,顯示當(dāng)前的賬戶名為“gauser”。執(zhí)行“cat /usr/local/apache2/conf/httpd.conf |grep Listen”命 令,在Apache配置文件中顯示監(jiān)聽(tīng)端口為80。切換到“/usr/local/apache2”目 錄,執(zhí)行“l(fā)s -al”命令,查看相關(guān)目錄和文件的用戶均為“gauser”,其權(quán)限都是“rwx------”,這說(shuō)明權(quán)限設(shè)置沒(méi)有問(wèn)題。

故障排查

既然默認(rèn)的80端口無(wú)法使用,那只有更換端口進(jìn)行嘗試。執(zhí)行“sed -i 's/Listen 80/Listen 8080/' /usr/local/apache2/conf/httpd.conf”命令,將端口修改為8080。再次執(zhí)行“/usr/local/apache2/bin/apachectrl start”命令,沒(méi)有出現(xiàn)以上報(bào)錯(cuò)提示。但是執(zhí)行“ps -ef|grep httpd”命令,檢測(cè)httpd進(jìn)程信息,在與上述啟動(dòng)命令對(duì)應(yīng)的進(jìn)程數(shù)量過(guò)少,說(shuō)明Apache的啟動(dòng)依然存在問(wèn)題??磥?lái),只有打開(kāi)Apache的日志,才能發(fā)現(xiàn)隱藏的問(wèn)題。

執(zhí) 行“cat /var/log/apache2/error.log”命令,在日志中根據(jù)時(shí)間進(jìn)行查找,發(fā)現(xiàn)存在“pid file /usr/local/apache2/logs/httpd overwritten --Unclean shutdown of previous Apache run?”,“Permission denied:could not create /usr/local/apache2/logs/http.pid”,“could not log pid to file /usr/local/apache2/logs/httpd.pid”等錯(cuò)誤信息。根據(jù)這些可以判斷,問(wèn)題是因?yàn)槊麨椤癶ttpd.pid”的文件權(quán)限不足引發(fā)的。

該文件存在于Apache的日志目錄下,主要作用是記錄進(jìn)程的ID信息,該文件不能為空。執(zhí)行“l(fā)l /usr/local/apache2/logs/httpd.pid ”命令,顯示該文件的擁有者是Root賬戶。因?yàn)楫?dāng)前的賬戶名為“gauser”,執(zhí) 行“chown gauser /usr/local/apache2/logs/httpd.pid”命令,將該文件的擁有者設(shè)置為當(dāng)前用戶。執(zhí)行“/usr/local/apache2/bin/apachectrl start”命 令,Apcche順利啟動(dòng),執(zhí)行“ps-ef|grep httpd”命令,和httpd相關(guān)的進(jìn)程沒(méi)有問(wèn)題。因?yàn)樯厦鎸pache的端口修改為8080,所以可以順利啟動(dòng),但是如果設(shè)置為80就會(huì)出現(xiàn)問(wèn)題。

故障解決

對(duì)于TCP 80端口來(lái)說(shuō),實(shí)際上屬于系統(tǒng)保留端口。在Linux中從0到1023端口,都是系統(tǒng)保留端口,這些端口主要用于關(guān)聯(lián)常用的服務(wù)。例如80端口和HTTP服務(wù)對(duì)應(yīng),22端口和SSH服務(wù)對(duì)應(yīng)等。出于安全性的考慮,對(duì)于這些保留端口,系統(tǒng)是要進(jìn)行必要的安全控制的,即只允許Root賬戶控制這些端口的使用權(quán),對(duì)于普通的賬戶,是不允許其隨意綁定保留端口的。對(duì)于從1024到49151的端口,是允許普通用戶使用的,即允許去將該范圍內(nèi)的端口和特定的應(yīng)用程序綁定。

對(duì)于從49152到65535的端口,屬于系統(tǒng)動(dòng)態(tài)分配端口,只要有進(jìn)程或者程序需要和外界建立連接時(shí),系統(tǒng)就會(huì)從中選擇可用的端口進(jìn)行分配,當(dāng)進(jìn)程或程序運(yùn)行結(jié)束,就會(huì)將該端口釋放。綜合以上分析不難看出,因?yàn)椤癵auser”是普通賬戶,所以無(wú)法使用系統(tǒng)80這一系統(tǒng)保留端口。如果使用Root賬戶啟動(dòng)Apache,雖然可以綁定80端口,但是存在一定的安全隱患,一旦黑客利用潛在的Apache漏洞入侵得手,黑客就會(huì)擁有Root權(quán)限,這對(duì)系統(tǒng)危害很大。最好的方法是,對(duì)Apache目錄下的httpd文件的SUID屬性進(jìn)行修改,通過(guò)合理的授權(quán)來(lái)解決問(wèn)題。SUID是一種特殊權(quán)限,設(shè)置了SUID的程序文件,在用戶執(zhí)行該程序時(shí),用戶的權(quán)限是該程序文件屬主的權(quán)限。例如,程序文件的屬主是Root,那么執(zhí)行該程序的用戶就將暫時(shí)獲得Root賬戶的權(quán)限。

執(zhí) 行“chmod u+s /usr/local/apache2/bin/httpd”,“chown Root/usr/local/apache2/bin/httpd”命令,讓gauser賬戶在執(zhí)行httpd文件時(shí),擁有該文件屬主的權(quán)限。執(zhí)行“vi /usr/local/apache2/conf/httpd.conf”命令,在 Apache配置文件中將“User”項(xiàng)的值設(shè)置為“gauser”,將“Group”項(xiàng)的值設(shè)置為“gauser”,這表示運(yùn)行httpd服務(wù)的用戶和組均為“gauser”賬戶,主要作用是給Web應(yīng)用降權(quán)。執(zhí)行“ps -ef|grep httpd”命令,在進(jìn)程列表第一行中的和“/usr/local/apache2/bin/apachectrl start”命令對(duì)應(yīng)的賬戶名為Root,說(shuō)明Apache是以Root賬戶身份啟動(dòng),在列表其余行使用的依然是“gauser”賬戶,說(shuō)明啟動(dòng)Apache時(shí)依然使用到了“gauser”賬戶,只是和該賬戶關(guān)聯(lián)的是一些Apache子進(jìn)程而已。

猜你喜歡
命令進(jìn)程端口
只聽(tīng)主人的命令
一種端口故障的解決方案
硬件解耦三端口變換器的軟開(kāi)關(guān)分析與仿真
債券市場(chǎng)對(duì)外開(kāi)放的進(jìn)程與展望
改革開(kāi)放進(jìn)程中的國(guó)際收支統(tǒng)計(jì)
交換機(jī)生成樹(shù)安全
移防命令下達(dá)后
這是人民的命令
衛(wèi)星三端口DC-DC變換器技術(shù)綜述
社會(huì)進(jìn)程中的新聞學(xué)探尋