如何利用thttpd做Web Server

如何利用thttpd做Web Server,第1张

1. 编译thttpd

cc=armv5l-linux-gcc ./configure -host=arm.这里设置为交叉编译.

2. make

3. 拷贝 thttpd到osroot/usr/sbin,拷贝contrib/redhat-rpm/thttpd.conf 到osroot/etc,

4. 测试一下thttpd所需要的动态库,readelf -d thttpd

5. 要想运行thttpd,还需要libnss类动态库,thttpd 使用到 NSS (Name Service Switch),因此若没有 libnss类动态库,thttpd 在通过 /etc/passwd 去查询 UNIX user时,会看到:unknown user - usr, 原因是 thttpd 读不到 'usr' 用户,相应的处理代码在thttpd.c 的 main()函数里,这里thttpd可以加入libnss_compat.so和libnss_file.so两个动态库文件.

6. 默认情况下,thttpd不可以运行CGI,特别是动态编译的CGI程序,所以需要修改thttpd.conf的配置:

# This section overrides defaults

dir=/home/httpd/html

#chroot

#屏蔽chroot是为了运行动态编译的CGI

user=httpd# default = nobody

logfile=/var/log/thttpd.log

pidfile=/var/run/thttpd.pid

# This section _documents_ defaults in effect

port=81

#port参数用于更改端口号(可不改,若还运行了别的WEB服务器,则需用不同端口)

# nosymlink# default = !chroot

#symlinks

# novhost

cgipath=/cgi-bin/*

#声明CGI程序的目录,是以dir为根目录的路径

# nothrottles

# host=0.0.0.0

# charset=iso-8859-1

7. 在开发板上为thttpd创建一个独立的用户:httpd,并用此用户创建httpd服务的根目录html

最简单的测试方法不用配置文件,直接输入命令:

thttpd -p 80 -d /home/httpd/html -u root 启动

现在可以在网上公开获得的日志清除程序代码很粗糙,我曾经看到过最夸张的清日志的代码像这样:

rm -rf /var/log/lastlog rm -rf /var/log/telnetd rm -rf /var/run/utmp rm -rf /var/log/secure rm -rf /root/.ksh_history rm -rf /root/.bash_history rm -rf /root/.bash_logut rm -rf /var/log/wtmp rm -rf /etc/wtmp rm -rf /var/run/utmp rm -rf /etc/utmp rm -rf /var/log rm -rf /var/adm rm -rf /var/apache/log rm -rf /var/apache/logs rm -rf /usr/local/apache/log rm -rf /usr/local/apache/logs rm -rf /var/log/acct rm -rf /var/log/xferlog rm -rf /var/log/messages rm -rf /var/log/proftpd/xferlog.legacy rm -rf /var/log/proftpd.access_log rm -rf /var/log/proftpd.xferlog rm -rf /var/log/httpd/error_log rm -rf /var/log/httpd/access_log rm -rf /etc/httpd/logs/access_log rm -rf /etc/httpd/logs/error_log rm -rf /var/log/news/suck.notice rm -rf /var/spool/tmp rm -rf /var/spool/errors rm -rf /var/spool/logs rm -rf /var/spool/locks rm -rf /usr/local/www/logs/thttpd_log rm -rf /var/log/thttpd_log rm -rf /var/log/ncftpd/misclog.txt rm -rf /var/log/ncftpd.errs rm -rf /var/log/auth rm -rf /root/.bash_history touch /root/.bash_history history Cr

整个一rm集合,要是服务器跑了很长时间,积累了很多日志。你这样一删除,的,你帮他省事了,他也省事,一眼就看出有人进来了。

先不说其他,用rm删除就不可取,正确的删除文件做法是用shred

shred -n 31337 -z -u file_to_delete

这样多次擦除才够安全。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7154486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存