<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Security Team Blog</title>
	<atom:link href="http://www.secblog.cn/feed" rel="self" type="application/rss+xml" />
	<link>http://www.secblog.cn</link>
	<description>服务器系统架构、优化及网络安全</description>
	<lastBuildDate>Tue, 29 Nov 2011 02:15:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>完美解决Nginx的跨站（防WEBshell）的问题 转载</title>
		<link>http://www.secblog.cn/unix/975.html</link>
		<comments>http://www.secblog.cn/unix/975.html#comments</comments>
		<pubDate>Tue, 29 Nov 2011 02:15:12 +0000</pubDate>
		<dc:creator>豬頭濱</dc:creator>
				<category><![CDATA[Unix日志]]></category>

		<guid isPermaLink="false">http://www.secblog.cn/?p=975</guid>
		<description><![CDATA[看了很多方法，试了一下这个最好用，需要更改php源程序后，重新编译php。在使用fpm方式安装时，打补丁过程中会修改php的文件，所以需要在打完fpm补丁后再修改php源程序。 tar zxvf php-5.2.14.tar.gz gzip -cd php-5.2.14-fpm-0.5.14.diff.gz &#124; patch -d php-5.2.14 -p1 cd php-5.2.14/ vi  main/fopen_wrappers.c /* {{{ php_check_open_basedir */ PHPAPI int php_check_open_basedir_ex(const char *path, int warn TSRMLS_DC) { /* Only check when open_basedir is available */ if (PG(open_basedir) &#38;&#38; *PG(open_basedir)) { char *pathbuf; char *ptr; char *end; // 添加的内容开始 char *env_document_root = sapi_getenv(“DOCUMENT_ROOT”, sizeof(“DOCUMENT_ROOT”)-1 TSRMLS_CC); if (php_check_specific_open_basedir(ptr, path TSRMLS_CC) == 0) { efree(env_document_root); return 0; } // 添加的内容结束 pathbuf = estrdup(PG(open_basedir)); ptr = pathbuf; while (ptr &#38;&#38; *ptr) { end = strchr(ptr, DEFAULT_DIR_SEPARATOR); if (end != NULL) { *end = &#8217;\0&#8242;; end++; } if (php_check_specific_open_basedir(ptr, path TSRMLS_CC) == 0) { efree(pathbuf); return 0; } ptr = end; } if (warn) { php_error_docref(NULL TSRMLS_CC, E_WARNING, ”open_basedir restriction in effect. File(%s) is not within the allowed path(s): (%s)”, path, PG(open_basedir)); } efree(pathbuf); errno = EPERM; /* we deny permission to open it */ return -1; } /* Nothing to check&#8230; */ return 0; } 需要添加的内容用红色表示出来了，然后重新编译安装php即可。 最后不要忘了将php.ini中的open_basedir改为：open_basedir = ”/var/tmp/:/tmp/” 经亲测可用。 使用phpspy2008测试，无法浏览其他目录。]]></description>
			<content:encoded><![CDATA[<p>看了很多方法，试了一下这个最好用，需要更改php源程序后，重新编译php。在使用fpm方式安装时，打补丁过程中会修改php的文件，所以需要在打完fpm补丁后再修改php源程序。</p>
<p>tar zxvf php-5.2.14.tar.gz<br />
gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1<br />
cd php-5.2.14/</p>
<p>vi  main/fopen_wrappers.c</p>
<p>/* {{{ php_check_open_basedir<br />
*/<br />
PHPAPI int php_check_open_basedir_ex(const char *path, int warn TSRMLS_DC)<br />
{<br />
/* Only check when open_basedir is available */<br />
if (PG(open_basedir) &amp;&amp; *PG(open_basedir)) {<br />
char *pathbuf;<br />
char *ptr;<br />
char *end;</p>
<p>// 添加的内容开始<br />
char *env_document_root = sapi_getenv(“DOCUMENT_ROOT”, sizeof(“DOCUMENT_ROOT”)-1 TSRMLS_CC);<br />
if (php_check_specific_open_basedir(ptr, path TSRMLS_CC) == 0) {<br />
efree(env_document_root);<br />
return 0;<br />
}<br />
// 添加的内容结束</p>
<p>pathbuf = estrdup(PG(open_basedir));</p>
<p>ptr = pathbuf;</p>
<p>while (ptr &amp;&amp; *ptr) {<br />
end = strchr(ptr, DEFAULT_DIR_SEPARATOR);<br />
if (end != NULL) {<br />
*end = &#8217;\0&#8242;;<br />
end++;<br />
}</p>
<p>if (php_check_specific_open_basedir(ptr, path TSRMLS_CC) == 0) {<br />
efree(pathbuf);<br />
return 0;<br />
}</p>
<p>ptr = end;<br />
}<br />
if (warn) {<br />
php_error_docref(NULL TSRMLS_CC, E_WARNING, ”open_basedir restriction in effect. File(%s) is not within the allowed path(s): (%s)”, path, PG(open_basedir));<br />
}<br />
efree(pathbuf);<br />
errno = EPERM; /* we deny permission to open it */<br />
return -1;<br />
}</p>
<p>/* Nothing to check&#8230; */<br />
return 0;<br />
}</p>
<p>需要添加的内容用红色表示出来了，然后重新编译安装php即可。<br />
最后不要忘了将php.ini中的open_basedir改为：open_basedir = ”/var/tmp/:/tmp/”</p>
<p>经亲测可用。</p>
<p>使用phpspy2008测试，无法浏览其他目录。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.secblog.cn/unix/975.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian Tomcat6 Apache2 PHP Mysql phpMyAdmin</title>
		<link>http://www.secblog.cn/article/970.html</link>
		<comments>http://www.secblog.cn/article/970.html#comments</comments>
		<pubDate>Tue, 18 Oct 2011 06:21:29 +0000</pubDate>
		<dc:creator>豬頭濱</dc:creator>
				<category><![CDATA[原创文章]]></category>

		<guid isPermaLink="false">http://www.secblog.cn/?p=970</guid>
		<description><![CDATA[有一朋友服务器需要同时支持JSP+PHP，以前经常搞PHP，突然用到JSP有点措手不及 网上那些文章很多都是采集而来，错误百出。 为了跟我一样的童鞋们少走弯路，我简单的把安装过程记录一下，如果有错误请大家批评指正。 操作系统：Dbian6.0 安装环境：Tomcat6 Apache2 PHP Mysql phpMyAdmin 文章作者：豬頭濱 www.unixidc.com #apt-get update #apt-get install vim #apt-get install mysql-server mysql-client #apt-get install phpmyadmin #apt-get install sun-java6-jdk #apt-get install tomcat6 tomcat6-docs tomcat6-examples #apt-get install libapache2-mod-jk #vi /etc/tomcat6/server.xml 找到&#60;!&#8211; &#60;Connector port=”8009&#8243; protocol=”AJP/1.3&#8243; redirectPort=”8443&#8243; /&#62; &#8211;&#62;这行 将&#60;!&#8211; &#8211;&#62;这个去掉 开启8009端口 否则会报500错误 #cat /etc/libapache2-mod-jk/workers.properties 找到workers.java_home=/usr/lib/jvm/default-java #cd /usr/lib/jvm/default-java 如果没有此文件夹 需要做软连接 #ln [...]]]></description>
			<content:encoded><![CDATA[<p>有一朋友服务器需要同时支持JSP+PHP，以前经常搞PHP，突然用到JSP有点措手不及 网上那些文章很多都是采集而来，错误百出。<br />
为了跟我一样的童鞋们少走弯路，我简单的把安装过程记录一下，如果有错误请大家批评指正。</p>
<p>操作系统：Dbian6.0<br />
安装环境：Tomcat6 Apache2 PHP Mysql phpMyAdmin<br />
文章作者：豬頭濱 www.unixidc.com</p>
<p>#apt-get update</p>
<p>#apt-get install vim</p>
<p>#apt-get install mysql-server mysql-client</p>
<p>#apt-get install phpmyadmin</p>
<p>#apt-get install sun-java6-jdk</p>
<p>#apt-get install tomcat6 tomcat6-docs tomcat6-examples</p>
<p>#apt-get install libapache2-mod-jk</p>
<p>#vi /etc/tomcat6/server.xml<br />
找到&lt;!&#8211; &lt;Connector port=”8009&#8243; protocol=”AJP/1.3&#8243; redirectPort=”8443&#8243; /&gt; &#8211;&gt;这行<br />
将&lt;!&#8211; &#8211;&gt;这个去掉 开启8009端口 否则会报500错误</p>
<p>#cat /etc/libapache2-mod-jk/workers.properties<br />
找到workers.java_home=/usr/lib/jvm/default-java<br />
#cd /usr/lib/jvm/default-java<br />
如果没有此文件夹 需要做软连接<br />
#ln -s /usr/lib/jvm/java-6-sun /usr/lib/jvm/default-java</p>
<p>#cd /etc/apache2/mods-available</p>
<p>#vi jk.conf</p>
<p>JkWorkersFile /etc/libapache2-mod-jk/workers.properties<br />
# Where to put jk logs<br />
JkLogFile /var/log/apache2/mod_jk.log<br />
# Set the jk log level [debug/error/info]<br />
JkLogLevel info<br />
# Select the log format<br />
JkLogStampFormat “[%a %b %d %H:%M:%S %Y]”<br />
# JkOptions indicate to send SSL KEY SIZE,<br />
JkOptions  +ForwardKeySize +ForwardURICompat -ForwardDirectories<br />
# JkRequestLogFormat set the request format<br />
JkRequestLogFormat “%w %V %T”</p>
<p>#a2enmod jk</p>
<p>#cd /etc/apache2/sites-available/</p>
<p>#vi tomcat</p>
<p>&lt;VirtualHost *:80&gt;<br />
ServerAdmin root@unixidc.com<br />
ServerName unixidc.com<br />
ServerAlias www.unixidc.com<br />
DocumentRoot /var/lib/tomcat6/webapps/ROOT<br />
ErrorLog /var/log/apache2/tomcat-error.log<br />
LogLevel warn<br />
CustomLog /var/log/apache2/tomcat.log combined<br />
JKMount /* ajp13_worker<br />
&lt;/VirtualHost&gt;</p>
<p>#a2ensite tomcat</p>
<p>#/etc/init.d/tomcat6 restart<br />
#/etc/init.d/apache2 restart</p>
<p>#cd /var/www</p>
<p>#vi phpinfo.php<br />
&lt;?phpinfo()?&gt;</p>
<p>用默认IP访问phpinfo.php 可以看到php参数 表示支持php</p>
<p>#cd /var/lib/tomcat6/webapps/ROOT<br />
#vi test.jsp<br />
Hello! The time is &lt;%= new java.util.Date() %&gt;</p>
<p>用tomcat绑定的域名访问test.jsp 如果显示系统时间 说明支持jsp</p>
<p>另外phpMyAdmin访问地址是 http://ip/phpmyadmin</p>
<p>有些童鞋们觉得奇怪 并没有看到安装apache和php组件，其实安装phpMyAdmin的时候 APACHE PHP都已经安装好了</p>
]]></content:encoded>
			<wfw:commentRss>http://www.secblog.cn/article/970.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prima PHP5.2.4添加PDO_MYSQL支持</title>
		<link>http://www.secblog.cn/article/962.html</link>
		<comments>http://www.secblog.cn/article/962.html#comments</comments>
		<pubDate>Mon, 22 Aug 2011 08:36:52 +0000</pubDate>
		<dc:creator>豬頭濱</dc:creator>
				<category><![CDATA[原创文章]]></category>

		<guid isPermaLink="false">http://www.secblog.cn/?p=962</guid>
		<description><![CDATA[首先用虚拟机搭建测试环境,与生产服务器安装相同,最好不要在生产服务器上安装,有可能会造成数据库无法正常启动 wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz tar xzvf PDO_MYSQL-1.0.2.tgz cd PDO_MYSQL-1.0.2 /usr/local/php5/bin/phpize Configuring for: PHP Api Version:         20041225 Zend Module Api No:      20060613 Zend Extension Api No:   220060519 ./configure &#8211;with-php-config=/usr/local/php5/bin/php-config 会发现一直有报错:如下 checking for mysql_config&#8230; /usr/bin/mysql_config checking for mysql_query in -lmysqlclient&#8230; no configure: error: mysql_query missing!? # yum install mysql-devel Dependencies Resolved ============================================================================= Package                 Arch       Version          [...]]]></description>
			<content:encoded><![CDATA[<p>首先用虚拟机搭建测试环境,与生产服务器安装相同,最好不要在生产服务器上安装,有可能会造成数据库无法正常启动</p>
<p>wget <a href="http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz" target="_blank">http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz</a><br />
tar xzvf  PDO_MYSQL-1.0.2.tgz<br />
cd  PDO_MYSQL-1.0.2<br />
/usr/local/php5/bin/phpize<br />
Configuring for:<br />
PHP Api  Version:         20041225<br />
Zend Module Api No:      20060613<br />
Zend Extension  Api No:   220060519<br />
./configure  &#8211;with-php-config=/usr/local/php5/bin/php-config</p>
<p>会发现一直有报错:如下<br />
checking for mysql_config&#8230; /usr/bin/mysql_config<br />
checking for mysql_query in -lmysqlclient&#8230; no<br />
configure: error: mysql_query missing!?</p>
<p># yum install mysql-devel</p>
<p>Dependencies Resolved</p>
<p>=============================================================================<br />
Package                 Arch       Version          Repository        Size<br />
=============================================================================<br />
Installing:<br />
mysql-devel             i386       5.0.77-4.el5_6.6  updates           2.4 M<br />
Updating:<br />
e2fsprogs-libs          i386       1.39-23.el5_5.1  base              118 k<br />
krb5-libs               i386       1.6.1-55.el5_6.2  updates           667 k<br />
libselinux              i386       1.33.4-5.7.el5   base               77 k<br />
libsepol                i386       1.15.2-3.el5     base              128 k<br />
mysql                   i386       5.0.77-4.el5_6.6  updates           4.8 M<br />
openssl                 i686       0.9.8e-12.el5_5.7  base              1.4 M<br />
Installing for dependencies:<br />
e2fsprogs-devel         i386       1.39-23.el5_5.1  base              569 k<br />
keyutils-libs-devel     i386       1.2-1.el5        base               27 k<br />
krb5-devel              i386       1.6.1-55.el5_6.2  updates           1.9 M<br />
libselinux-devel        i386       1.33.4-5.7.el5   base              144 k<br />
libsepol-devel          i386       1.15.2-3.el5     base              187 k<br />
openssl-devel           i386       0.9.8e-12.el5_5.7  base              1.9 M<br />
zlib-devel              i386       1.2.3-3          base              101 k<br />
Updating for dependencies:<br />
e2fsprogs               i386       1.39-23.el5_5.1  base              977 k<br />
krb5-workstation        i386       1.6.1-55.el5_6.2  updates           885 k<br />
libselinux-python       i386       1.33.4-5.7.el5   base               73 k<br />
mysql-server            i386       5.0.77-4.el5_6.6  updates           9.8 M</p>
<p>Transaction Summary<br />
=============================================================================<br />
Install      8 Package(s)<br />
Update      10 Package(s)<br />
Remove       0 Package(s)</p>
<p>Total download size: 26 M</p>
<p>[root@PDO_MYSQL-1.0.2]# ./configure &#8211;with-php-config=/usr/local/php5/bin/php-config</p>
<p>[root@PDO_MYSQL-1.0.2]#make &amp; make install</p>
<p>[root@PDO_MYSQL-1.0.2]#vi /usr/local/php5/etc/php.ini</p>
<p>添加extension=pdo_mysql.so 重启httpd即可<a href="http://www.secblog.cn/wp-content/uploads/2011/08/未命名.jpg"><img class="alignnone size-full wp-image-965" title="未命名" src="http://www.secblog.cn/wp-content/uploads/2011/08/未命名.jpg" alt="" width="605" height="134" /></a></p>
<p>或者是下载我已经编译的so (centos5.2 php5.2.4) <a href="../wp-content/uploads/2011/08/pdo_mysql.tar.gz">pdo_mysql.tar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.secblog.cn/article/962.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian 使用unison双向同步文件</title>
		<link>http://www.secblog.cn/article/949.html</link>
		<comments>http://www.secblog.cn/article/949.html#comments</comments>
		<pubDate>Fri, 01 Jul 2011 04:00:16 +0000</pubDate>
		<dc:creator>豬頭濱</dc:creator>
				<category><![CDATA[原创文章]]></category>

		<guid isPermaLink="false">http://www.secblog.cn/?p=949</guid>
		<description><![CDATA[Debian6.0 squeeze Server1:192.168.1.104 Server2:192.168.1.105 安装之前需要Server1与Server2之间SSH互相信任 请参考以下文章： http://www.secblog.cn/article/928.html Server1 #vi /etc/apt/sources.list deb http://mirrors.163.com/debian squeeze main non-free contrib deb http://mirrors.163.com/debian squeeze-proposed-updates main contrib non-free deb http://mirrors.163.com/debian-security squeeze/updates main contrib non-free deb-src http://mirrors.163.com/debian squeeze main non-free contrib deb-src http://mirrors.163.com/debian squeeze-proposed-updates main contrib non-free deb-src http://mirrors.163.com/debian-security squeeze/updates main contrib non-free deb http://http.us.debian.org/debian squeeze main contrib non-free deb http://non-us.debian.org/debian-non-US squeeze/non-US [...]]]></description>
			<content:encoded><![CDATA[<p>Debian6.0 squeeze<br />
Server1:192.168.1.104<br />
Server2:192.168.1.105</p>
<p>安装之前需要Server1与Server2之间SSH互相信任 请参考以下文章：<br />
<a href="http://www.secblog.cn/article/928.html">http://www.secblog.cn/article/928.html</a></p>
<p>Server1<br />
#vi /etc/apt/sources.list<br />
deb <a href="http://mirrors.163.com/debian">http://mirrors.163.com/debian</a> squeeze main non-free contrib<br />
deb <a href="http://mirrors.163.com/debian">http://mirrors.163.com/debian</a> squeeze-proposed-updates main contrib non-free<br />
deb <a href="http://mirrors.163.com/debian-security">http://mirrors.163.com/debian-security</a> squeeze/updates main contrib non-free<br />
deb-src <a href="http://mirrors.163.com/debian">http://mirrors.163.com/debian</a> squeeze main non-free contrib<br />
deb-src <a href="http://mirrors.163.com/debian">http://mirrors.163.com/debian</a> squeeze-proposed-updates main contrib non-free<br />
deb-src <a href="http://mirrors.163.com/debian-security">http://mirrors.163.com/debian-security</a> squeeze/updates main contrib non-free<br />
deb <a href="http://http.us.debian.org/debian">http://http.us.debian.org/debian</a> squeeze main contrib non-free<br />
deb <a href="http://non-us.debian.org/debian-non-US">http://non-us.debian.org/debian-non-US</a> squeeze/non-US main contrib non-free<br />
deb <a href="http://security.debian.org">http://security.debian.org</a> squeeze/updates main contrib non-free<br />
#apt-get update<br />
#apt-get install unison //两台Server都需要安装unison<br />
#usr/bin/unison</p>
<p>#vi /root/.unison/default.prf <br />
root = /root/test/<br />
root = ssh://192.168.1.105//root/test/</p>
<p>#force =/root/test/</p>
<p># Paths to synchronize<br />
#path = bbs/attachments<br />
#path = uc/data/avatar<br />
#path = uchome/attachment</p>
<p># Some regexps specifying names and paths to ignore<br />
#ignore = Path bbs/attachments/swfupload<br />
#ignore = Name temp.*<br />
#ignore = Name *~<br />
#ignore = Name .*~<br />
#ignore = Name *.mp3</p>
<p>auto = true<br />
batch = true<br />
maxthreads = 500<br />
owner = true<br />
group = true<br />
perms = -1<br />
repeat = 1<br />
retry = 3<br />
sshargs = -C <br />
xferbycopying = true <br />
silent = true<br />
fastcheck = true<br />
log = true<br />
logfile = /root/.unison/unixidc_122.1547.log</p>
<p>Server1创建/root/test<br />
#mkdir /root/test</p>
<p>Server2创建/root/test<br />
#mkdir /root/test</p>
<p>#/usr/bin/unison&amp;<br />
推送到后台安静模式运行</p>
<p>如果Server1的/root/test想同步到Server2的/root/test2<br />
需要在Server1创建/root/test Server2创建/root/test2<br />
配置文件为 root = ssh://192.168.1.105//root/test2/</p>
<p><span style="color: #ff0000;">其中要注意的是：<br />
1.force去掉前面的# 那就是Server1单向同步到Server2<br />
2.silent = true 是以安静模式运行 否则一直会有以下提示</span></p>
<p><a href="mailto:root@localhost"><span style="color: #ff0000;">root@localhost</span></a><span style="color: #ff0000;">:~# /usr/bin/unison<br />
Contacting server&#8230;<br />
Connected [//localhost//root/test -&gt; //unixidc//root/test]<br />
Looking for changes<br />
  Waiting for changes from server<br />
Reconciling changes<br />
Nothing to do: replicas have not changed since last sync.</span></p>
<p><span style="color: #ff0000;">Sleeping for 1 seconds&#8230;</span></p>
<p><span style="color: #ff0000;">Looking for changes<br />
  Waiting for changes from server<br />
Reconciling changes<br />
Nothing to do: replicas have not changed since last sync.</span></p>
<p><span style="color: #ff0000;">3.path 是指定你需要同步的目录，用ignore指定path中需要排除的目录及文件</span></p>
<p><span style="color: #ff0000;">4.要双向同步的目录都不允许为空 否则unison进程会自动结束 并提示Aborting&#8230;</span></p>
<p><span style="color: #ff0000;">5.如需了解更多参数 请参考</span><a href="http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-manual.htm"><span style="color: #ff0000;">http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-manual.htm</span></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.secblog.cn/article/949.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LINUX配置双机SSH信认，并用public key认证登录</title>
		<link>http://www.secblog.cn/article/928.html</link>
		<comments>http://www.secblog.cn/article/928.html#comments</comments>
		<pubDate>Fri, 01 Jul 2011 02:27:22 +0000</pubDate>
		<dc:creator>豬頭濱</dc:creator>
				<category><![CDATA[原创文章]]></category>

		<guid isPermaLink="false">http://www.secblog.cn/?p=928</guid>
		<description><![CDATA[Linux Server1:192.168.1.104 Linux Server2:192.168.1.105 终端：SSH Secure Shell Client 1.用password方式登录Linux Server1和2 2.在Linux Server1上命令操作如下： #ssh-keygen -t dsa 并三次回车 #cd .ssh/ #cp id_dsa.pub authorized_keys #chmod 600 authorized_keys #scp * 192.168.1.105:/root/.ssh 其中在scp的时候 会提示Are you sure you want to continue connecting (yes/no)? 确定输入yes进行确认，之后会提示root@192.168.1.105&#8242;s password: 要求输入root密码 我们在Linux Server1(192.168.1.104)上ssh连接Linux Server2(192.168.1.105),看下是否正常 #ssh 192.168.1.105 然后在Linux Server2(192.168.1.105)上ssh连接Linux Server1(192.168.1.104),看下是否正常 如果提示：Are you sure you want to continue [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.secblog.cn/wp-content/uploads/2011/07/13.jpg"></a>Linux Server1:192.168.1.104<br />
Linux Server2:192.168.1.105<br />
终端：SSH Secure Shell Client</p>
<p>1.用password方式登录Linux Server1和2<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/1.jpg"><img class="alignnone size-full wp-image-930" title="1" src="http://www.secblog.cn/wp-content/uploads/2011/07/1.jpg" alt="" width="398" height="136" /></a><br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/2.jpg"><img class="alignnone size-full wp-image-931" title="2" src="http://www.secblog.cn/wp-content/uploads/2011/07/2.jpg" alt="" width="398" height="136" /></a></p>
<p>2.在Linux Server1上命令操作如下：<br />
#ssh-keygen -t dsa<br />
并三次回车<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/3.jpg"><img class="alignnone size-full wp-image-932" title="3" src="http://www.secblog.cn/wp-content/uploads/2011/07/3.jpg" alt="" width="471" height="471" /></a><br />
#cd .ssh/<br />
#cp id_dsa.pub authorized_keys<br />
#chmod 600 authorized_keys<br />
#scp * 192.168.1.105:/root/.ssh<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/4.jpg"><img class="alignnone size-full wp-image-933" title="4" src="http://www.secblog.cn/wp-content/uploads/2011/07/4.jpg" alt="" width="474" height="377" /></a><br />
其中在scp的时候 会提示Are you sure you want to continue connecting (yes/no)?<br />
确定输入yes进行确认，之后会提示<a href="mailto:root@192.168.1.105's">root@192.168.1.105&#8242;s</a> password: 要求输入root密码<br />
我们在Linux Server1(192.168.1.104)上ssh连接Linux Server2(192.168.1.105),看下是否正常<br />
#ssh 192.168.1.105<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/5.jpg"><img class="alignnone size-full wp-image-934" title="5" src="http://www.secblog.cn/wp-content/uploads/2011/07/5.jpg" alt="" width="474" height="498" /></a><br />
然后在Linux Server2(192.168.1.105)上ssh连接Linux Server1(192.168.1.104),看下是否正常<br />
如果提示：Are you sure you want to continue connecting (yes/no)? 输入yes即可<br />
到目前为止 已经配置好Linux Server1和Linux Server2的SSH互相信任，SSH连接并不需要密码</p>
<p>3.打开SSH Secure Shell Client&gt;Edit-&gt;settings-&gt;Keys&gt;Generate New<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/6.jpg"><img class="alignnone size-full wp-image-935" title="6" src="http://www.secblog.cn/wp-content/uploads/2011/07/6.jpg" alt="" width="579" height="487" /></a><br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/7.jpg"><img class="alignnone size-full wp-image-936" title="7" src="http://www.secblog.cn/wp-content/uploads/2011/07/7.jpg" alt="" width="441" height="337" /></a><br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/8.jpg"><img class="alignnone size-full wp-image-937" title="8" src="http://www.secblog.cn/wp-content/uploads/2011/07/8.jpg" alt="" width="441" height="337" /></a><br />
选择DSA 2048<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/9.jpg"><img class="alignnone size-full wp-image-938" title="9" src="http://www.secblog.cn/wp-content/uploads/2011/07/9.jpg" alt="" width="441" height="337" /></a><br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/10.jpg"><img class="alignnone size-full wp-image-939" title="10" src="http://www.secblog.cn/wp-content/uploads/2011/07/10.jpg" alt="" width="441" height="337" /></a><br />
其中File 你可以选择你喜欢的文件名 会生成File.pub ,Commet可以写你自己的邮箱，Passphrase密码为空即可。<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/11.jpg"><img class="alignnone size-full wp-image-940" title="11" src="http://www.secblog.cn/wp-content/uploads/2011/07/11.jpg" alt="" width="580" height="162" /></a><br />
这里会提示是否确定密码为空.<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/12.jpg"><img class="alignnone size-full wp-image-941" title="12" src="http://www.secblog.cn/wp-content/uploads/2011/07/12.jpg" alt="" width="441" height="337" /></a></p>
<p>3.切换到Linux Server1的SSH Secure Shell Client界面 Edit-&gt;settings-&gt;Keys&gt;Upload<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/13.jpg"><img class="alignnone size-full wp-image-942" title="13" src="http://www.secblog.cn/wp-content/uploads/2011/07/13.jpg" alt="" width="542" height="494" /></a><br />
将Destination中的.ssh2 更改为.ssh 点Upload 。<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/14.jpg"><img class="alignnone size-full wp-image-943" title="14" src="http://www.secblog.cn/wp-content/uploads/2011/07/14.jpg" alt="" width="474" height="342" /></a><br />
#ssh-keygen -i -f /root/.ssh/unixidc.pub &gt;&gt;/root/.ssh/authorized_keys<br />
#vi /etc/ssh/sshd_config<br />
AuthorizedKeysFile去掉前面的# 允许AuthorizedKeys登录<br />
PasswordAuthentication=no 修改为no 禁止使用password登录<br />
重启SSH服务，并重新登录 Authentication选择：Public Key<br />
<a href="http://www.secblog.cn/wp-content/uploads/2011/07/15.jpg"><img class="alignnone size-full wp-image-944" title="15" src="http://www.secblog.cn/wp-content/uploads/2011/07/15.jpg" alt="" width="398" height="136" /></a><br />
在Linux Server2上重复操作以上步骤即可配置完成。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.secblog.cn/article/928.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>查看apache IP访问量</title>
		<link>http://www.secblog.cn/bing/917.html</link>
		<comments>http://www.secblog.cn/bing/917.html#comments</comments>
		<pubDate>Tue, 03 May 2011 10:17:12 +0000</pubDate>
		<dc:creator>豬頭濱</dc:creator>
				<category><![CDATA[拿来主义]]></category>

		<guid isPermaLink="false">http://www.secblog.cn/?p=917</guid>
		<description><![CDATA[1.查看TCP连接状态 netstat -nat &#124;awk &#8216;{print $6}&#8217;&#124;sort&#124;uniq -c&#124;sort -rn netstat -n &#124; awk &#8216;/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}&#8217; netstat -n &#124; awk &#8216;/^tcp/ {++state[$NF]}; END {for(key in state) print key,”\t”,state[key]}&#8217; netstat -n &#124; awk &#8216;/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”\t”,arr[k]}&#8217; netstat -n &#124;awk &#8216;/^tcp/ {print $NF}&#8217;&#124;sort&#124;uniq -c&#124;sort -rn netstat -ant &#124; awk [...]]]></description>
			<content:encoded><![CDATA[<p><strong>1.</strong><strong>查看TCP</strong><strong>连接状态</strong></p>
<p>netstat -nat |awk &#8216;{print $6}&#8217;|sort|uniq -c|sort -rn</p>
<p>netstat -n | awk &#8216;/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}&#8217;</p>
<p>netstat -n | awk &#8216;/^tcp/ {++state[$NF]}; END {for(key in state) print key,”\t”,state[key]}&#8217;</p>
<p>netstat -n | awk &#8216;/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”\t”,arr[k]}&#8217;</p>
<p>netstat -n |awk &#8216;/^tcp/ {print $NF}&#8217;|sort|uniq -c|sort -rn</p>
<p>netstat -ant | awk &#8216;{print $NF}&#8217; | grep -v &#8216;[a-z]&#8216; | sort | uniq -c</p>
<p>netstat -ant|awk &#8216;/ip:80/{split($5,ip,”:”);++S[ip[1]]}END{for (a in S) print S[a],a}&#8217; |sort -n</p>
<p>netstat -ant|awk &#8216;/:80/{split($5,ip,”:”);++S[ip[1]]}END{for (a in S) print S[a],a}&#8217; |sort -rn|head -n 10</p>
<p>awk &#8216;BEGIN{printf (“http_code\tcount_num\n”)}{COUNT[$10]++}END{for (a in COUNT) printf a”\t\t”COUNT[a]“\n”}&#8217;</p>
<p><strong>2.</strong><strong>查找请求数请20</strong><strong>个IP</strong><strong>（常用于查找攻来源）：</strong></p>
<p>netstat -anlp|grep 80|grep tcp|awk &#8216;{print $5}&#8217;|awk -F: &#8216;{print $1}&#8217;|sort|uniq -c|sort -nr|head -n20</p>
<p>netstat -ant |awk &#8216;/:80/{split($5,ip,”:”);++A[ip[1]]}END{for(i in A) print A[i],i}&#8217; |sort -rn|head -n20</p>
<p><strong>3.</strong><strong>用tcpdump</strong><strong>嗅探80</strong><strong>端口的访问看看谁最高</strong></p>
<p>tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” &#8216;{print $1&#8243;.”$2&#8243;.”$3&#8243;.”$4}&#8217; | sort | uniq -c | sort -nr |head -20</p>
<p><strong>4.</strong><strong>查找较多time_wait</strong><strong>连接</strong></p>
<p>netstat -n|grep TIME_WAIT|awk &#8216;{print $5}&#8217;|sort|uniq -c|sort -rn|head -n20</p>
<p><strong>5.</strong><strong>找查较多的SYN</strong><strong>连接</strong></p>
<p>netstat -an | grep SYN | awk &#8216;{print $5}&#8217; | awk -F: &#8216;{print $1}&#8217; | sort | uniq -c | sort -nr | more</p>
<p><strong>6.</strong><strong>根据端口列进程</strong></p>
<p>netstat -ntlp | grep 80 | awk &#8216;{print $7}&#8217; | cut -d/ -f1</p>
<p><strong>网站日志分析（Apache</strong><strong>）：</strong><br />
<strong>1.</strong><strong>获得访问前10</strong><strong>位的ip</strong><strong>地址</strong></p>
<p>cat access.log|awk &#8216;{print $1}&#8217;|sort|uniq -c|sort -nr|head -10</p>
<p>cat access.log|awk &#8216;{counts[$(11)]+=1}; END {for(url in counts) print counts[url], url}&#8217;</p>
<p><strong>2.</strong><strong>访问次数最多的文件或页面,</strong><strong>取前20</strong><strong>及统计所有访问IP</strong></p>
<p>cat access.log|awk &#8216;{print $11}&#8217;|sort|uniq -c|sort -nr|head -20</p>
<p>awk &#8216;{ print $1}&#8217; access.log |sort -n -r |uniq -c|wc -l</p>
<p><strong>3.</strong><strong>列出传输最大的几个exe</strong><strong>文件（分析下载站的时候常用）</strong></p>
<p>cat access.log |awk &#8216;($7~/\.exe/){print $10 ” ” $1 ” ” $4 ” ” $7}&#8217;|sort -nr|head -20</p>
<p><strong>4.</strong><strong>列出输出大于200000byte(</strong><strong>约200kb)</strong><strong>的exe</strong><strong>文件以及对应文件发生次数</strong></p>
<p>cat access.log |awk &#8216;($10 &gt; 200000 &amp;&amp; $7~/\.exe/){print $7}&#8217;|sort -n|uniq -c|sort -nr|head -100</p>
<p><strong>5.</strong><strong>如果日志最后一列记录的是页面文件传输时间，则有列出到客户端最耗时的页面</strong></p>
<p>cat access.log |awk &#8216;($7~/\.php/){print $NF ” ” $1 ” ” $4 ” ” $7}&#8217;|sort -nr|head -100</p>
<p><strong>6.</strong><strong>列出最最耗时的页面(</strong><strong>超过60</strong><strong>秒的)</strong><strong>的以及对应页面发生次数</strong></p>
<p>cat access.log |awk &#8216;($NF &gt; 60 &amp;&amp; $7~/\.php/){print $7}&#8217;|sort -n|uniq -c|sort -nr|head -100</p>
<p><strong>7.</strong><strong>列出传输时间超过 30 </strong><strong>秒的文件</strong></p>
<p>cat access.log |awk &#8216;($NF &gt; 30){print $7}&#8217;|sort -n|uniq -c|sort -nr|head -20</p>
<p><strong>8.</strong><strong>统计网站流量（G)</strong></p>
<p>cat access.log |awk &#8216;{sum+=$10} END {print sum/1024/1024/1024}&#8217;</p>
<p><strong>9.</strong><strong>统计404</strong><strong>的连接</strong></p>
<p>awk &#8216;($9 ~/404/)&#8217; access.log | awk &#8216;{print $9,$7}&#8217; | sort</p>
<p><strong>10. </strong><strong>统计http status.</strong></p>
<p>cat access.log |awk &#8216;{counts[$(9)]+=1}; END {for(code in counts) print code, counts[code]}'</p>
<p>cat access.log |awk '{print $9}'|sort|uniq -c|sort -rn</p>
<p><strong>11.</strong><strong>每秒并发：</strong></p>
<p>awk '{if($9~/200|30|404/)COUNT[$4]++}END{for( a in COUNT) print a,COUNT[a]}'|sort -k 2 -nr|head -n10</p>
<p><strong>12.</strong><strong>带宽统计</strong></p>
<p>cat apache.log |awk '{if($7~/GET/) count++}END{print "client_request="count}'</p>
<p>cat apache.log |awk '{BYTE+=$11}END{print "client_kbyte_out="BYTE/1024"KB"}'</p>
<p><strong>13.</strong><strong>统计对象数量及对象平均大小</strong></p>
<p>cat access.log |awk '{byte+=$10}END{ print byte/NR/1024,NR}'</p>
<p>cat access.log |awk '{if($9~/200|30/)COUNT[$NF]++}END{for( a in COUNT) print a,COUNT</p>
<p>[a],NR,COUNT[a]/NR*100"%"}</p>
<p><strong>14.</strong><strong>取5</strong><strong>分钟日志</strong></p>
<p>if [ $DATE_MINUTE != $DATE_END_MINUTE ] ;then #则判断开始时间戳与结束时间戳是否相等START_LINE=`sed -n "/$DATE_MINUTE/=" $APACHE_LOG|head -n1` #如果不相等，则取出开始时间戳的行号，与结束时间戳的行号</p>
<p>#END_LINE=`sed -n "/$DATE_END_MINUTE/=" $APACHE_LOG|tail -n1`</p>
<p>END_LINE=`sed -n "/$DATE_END_MINUTE/=" $APACHE_LOG|head -n1`sed -n "${START_LINE},${END_LINE}p" $APACHE_LOG &gt; $MINUTE_LOG ##通过行号，取出5分钟内的日志内容 存放到 临时文件中</p>
<p>GET_START_TIME=`sed -n "${START_LINE}p" $APACHE_LOG|awk -F '[' '{print $2}' |awk '{print $1}'|</p>
<p>sed 's#/# #g'|sed 's#:# #'` #通过行号获取取出开始时间戳</p>
<p>GET_END_TIME=`sed -n "${END_LINE}p" $APACHE_LOG|awk -F '[' '{print $2}' |awk '{print $1}'|sed</p>
<p>'s#/# #g'|sed 's#:# #'` #通过行号获取结束时间戳</p>
<p><strong>15.</strong><strong>蜘蛛分析</strong></p>
<p><strong>查看是哪些蜘蛛在抓取内容</strong></p>
<p>/usr/sbin/tcpdump -i eth0 -l -s 0 -w - dst port 80 | strings | grep -i user-agent | grep -i -E 'bot|crawler|slurp|spider'</p>
<p><strong>网站日分析2(Squid</strong><strong>篇）</strong></p>
<p><strong>2.</strong><strong>按域统计流量</strong></p>
<p>zcat squid_access.log.tar.gz| awk '{print $10,$7}' |awk 'BEGIN{FS="[ /]"}{trfc[$4]+=$1}END{for</p>
<p>(domain in trfc){printf "%s\t%d\n",domain,trfc[domain]}}'</p>
<p>效率更高的perl版本请到此下载:http://docs.linuxtone.org/soft/tools/tr.pl</p>
<p><strong>数据库篇</strong></p>
<p><strong>1.查看数据库执行的sql</strong></p>
<p>/usr/sbin/tcpdump -i eth0 -s 0  -l -w - dst port 3306 | strings | egrep -i  'SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL'</p>
<p><strong>系统Debug</strong><strong>分析篇</strong></p>
<p><strong>1.调试命令</strong></p>
<p>strace -p pid</p>
<p><strong>2.跟踪指定进程的PID</strong></p>
<p>gdb -p pid</p>
<p>http://eg8320.blog.51cto.com/418884/440228</p>
]]></content:encoded>
			<wfw:commentRss>http://www.secblog.cn/bing/917.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>配置 Linux 服务器 SSH 安全访问的四个小技巧</title>
		<link>http://www.secblog.cn/unix/912.html</link>
		<comments>http://www.secblog.cn/unix/912.html#comments</comments>
		<pubDate>Fri, 25 Mar 2011 12:10:34 +0000</pubDate>
		<dc:creator>豬頭濱</dc:creator>
				<category><![CDATA[Unix日志]]></category>

		<guid isPermaLink="false">http://www.secblog.cn/?p=912</guid>
		<description><![CDATA[Linux SSH 安全策略一：更改 SSH 端口 默认的 SSH 端口是 22。强烈建议改成 10000 以上。这样别人扫描到端口的机率也大大下降。修改方法： # 编辑 /etc/ssh/ssh_config vi /etc/ssh/ssh_config # 在 Host * 下 ，加入新的 Port 值。以 22000 为例（下同）： Port 22 Port 22000 # 编辑 /etc/ssh/sshd_config vi /etc/ssh/sshd_config #加入新的 Port 值 Port 22 Port 22000 # 保存后，重启 SSH 服务： service sshd restart 　　这里我设置了两个端口，主要是为了防止修改出错导致 SSH 再也登不上。更改你的 SSH 客户端(例如：Putty)的连接端口，测试连接，如果新端口能连接成功，则再编辑上面两个文件，删除 Port [...]]]></description>
			<content:encoded><![CDATA[<h2>Linux SSH 安全策略一：更改 SSH 端口</h2>
<p>默认的 SSH 端口是 22。强烈建议改成 10000 以上。这样别人扫描到端口的机率也大大下降。修改方法：</p>
<pre><tt># 编辑 /etc/ssh/ssh_config
vi /etc/ssh/ssh_config
# 在 Host * 下 ，加入新的 Port 值。以 22000 为例（下同）：
Port 22
Port 22000

# 编辑 /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#加入新的 Port 值
Port 22
Port 22000

# 保存后，重启 SSH 服务：
service sshd restart

　　这里我设置了两个端口，主要是为了防止修改出错导致 SSH 再也登不上。更改你的 SSH 客户端(例如：<strong>Putty</strong>)的连接端口，测试连接，<strong>如果新端口能连接成功，则再编辑上面两个文件，删除 Port 22 的配置</strong>。如果连接失败，而用 Port 22 连接后再重新配置。

　　端口设置成功后，注意同时应该从 iptables 中， 删除22端口，添加新配置的 22000，并重启 iptables。
</tt></pre>
<pre><tt>
<h2>Linux SSH 安全策略二：限制 IP 登录</h2>

如果你能以固定 IP 方式连接你的服务器，那么，你可以设置只允许某个特定的 IP 登录服务器
<pre><tt># 编辑 /etc/hosts.allow
vi /etc/hosts.allow
# 例如只允许 123.45.67.89 登录
sshd:123.45.67.89</tt></pre>
<h2>Linux SSH 安全策略三：public key认证登录</h2>
<p><a href="http://www.secblog.cn/unix/457.html">http://www.secblog.cn/unix/457.html</a></p>
<h2>Linux SSH 安全策略四：使用DenyHosts</h2>
<p><a href="http://denyhosts.sourceforge.net/">http://denyhosts.sourceforge.net/</a></p>
<p></tt></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.secblog.cn/unix/912.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>错误 21002: [SQL-DMO]用户“db_f”已经存在</title>
		<link>http://www.secblog.cn/bing/906.html</link>
		<comments>http://www.secblog.cn/bing/906.html#comments</comments>
		<pubDate>Tue, 08 Mar 2011 10:21:00 +0000</pubDate>
		<dc:creator>豬頭濱</dc:creator>
				<category><![CDATA[拿来主义]]></category>

		<guid isPermaLink="false">http://www.secblog.cn/?p=906</guid>
		<description><![CDATA[1. 查看某个数据库的孤立用户: USE 库名 EXEC sp_change_users_login &#8216;Report&#8217; 2. 自动修复某个孤立用户: USE 库名 EXEC sp_change_users_login &#8216;Auto_Fix&#8217;, &#8216;孤立用户名&#8217;, NULL, &#8216;密码&#8217; &#8211;密码指用户对应的登录不存在时, 系统自动建立登录, 为登录分配的密码 报错： 服务器: 消息 8144，级别 16，状态 2，过程 sp_change_users_login，行 0 为过程或函数 sp_change_users_login 指定的参数太多。 &#8211;报错时候， 可删除“，&#8217;密码&#8217;”部分(版本或者补丁问题) 3.表已经恢复完毕，有孤立用户 user1, 在登录中已建立登录用户 user2 sp_change_users_login @Action = &#8216;Update_One&#8217; , @UserNamePattern = &#8216;user1&#8242; , @LoginName = &#8216;user2&#8242; 可将 user1 与 user2(以user2用户名登录) 关联]]></description>
			<content:encoded><![CDATA[<p>1. 查看某个数据库的孤立用户:<br />
    USE 库名<br />
    EXEC sp_change_users_login &#8216;Report&#8217;</p>
<p>2. 自动修复某个孤立用户:<br />
    USE 库名<br />
    EXEC sp_change_users_login &#8216;Auto_Fix&#8217;, &#8216;孤立用户名&#8217;, NULL, &#8216;密码&#8217;</p>
<p>      &#8211;密码指用户对应的登录不存在时, 系统自动建立登录, 为登录分配的密码<br />
    报错：<br />
       服务器: 消息 8144，级别 16，状态 2，过程 sp_change_users_login，行 0<br />
      为过程或函数 sp_change_users_login 指定的参数太多。<br />
      &#8211;报错时候， 可删除“，&#8217;密码&#8217;”部分(版本或者补丁问题)<br />
3.表已经恢复完毕，有孤立用户 user1, 在登录中已建立登录用户 user2</p>
<p>sp_change_users_login @Action = &#8216;Update_One&#8217;<br />
, @UserNamePattern = &#8216;user1&#8242;<br />
, @LoginName = &#8216;user2&#8242;</p>
<p>可将 user1 与 user2(以user2用户名登录) 关联</p>
]]></content:encoded>
			<wfw:commentRss>http://www.secblog.cn/bing/906.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serv-U中禁止某类文件的上传</title>
		<link>http://www.secblog.cn/bing/903.html</link>
		<comments>http://www.secblog.cn/bing/903.html#comments</comments>
		<pubDate>Wed, 02 Mar 2011 01:32:20 +0000</pubDate>
		<dc:creator>豬頭濱</dc:creator>
				<category><![CDATA[拿来主义]]></category>

		<guid isPermaLink="false">http://www.secblog.cn/bing/903.html</guid>
		<description><![CDATA[开通了FTP服务，但是不想让用户上传某类型的文件，比如EXE文件，或者只能上传某类型的文件，怎么做呢？看看下面的方案： 一、禁止某类文件上传 在用户的“目录访问”那里添加一条访问规则，路径设置为 *.exe ，取消所有的权限，并把这个规则放在最上面的位置。 Path=*.exe Access=&#8212;&#8212;&#8211; 这样处理后，该用户就不能在自己的目录上传*.exe的文件了，同时目录下面的*.exe文件也不会被列出来，也不能修改已经上传的文件后缀为exe。在Serv-U 6版本中测试正常。 二、只允许某类文件上传 1、在用户的“目录访问”那里添加一条访问规则，路径设置为 *.html，设置 读取、写入、追加、删除权限，并放在第一条。 2、取消文件目录的 写入、追加、删除权限 。 这样处理后，就只能上传 *.html 的文件了。]]></description>
			<content:encoded><![CDATA[<div id="app-share-content">
<p>开通了FTP服务，但是不想让用户上传某类型的文件，比如EXE文件，或者只能上传某类型的文件，怎么做呢？看看下面的方案：</p>
<p><strong><span style="color: #ff0000;">一、禁止某类文件上传</span></strong></p>
<p>在用户的“目录访问”那里添加一条访问规则，路径设置为 *.exe ，取消所有的权限，并把这个规则放在最上面的位置。</p>
<p>Path=*.exe<br />
Access=&#8212;&#8212;&#8211;</p>
<p>这样处理后，该用户就不能在自己的目录上传*.exe的文件了，同时目录下面的*.exe文件也不会被列出来，也不能修改已经上传的文件后缀为exe。在Serv-U 6版本中测试正常。</p>
<div>
<p><a href="http://www.secblog.cn/wp-content/uploads/2011/03/ceefe01a7fac03058418bf7e.jpg"><img class="alignnone size-full wp-image-909" title="ceefe01a7fac03058418bf7e" src="http://www.secblog.cn/wp-content/uploads/2011/03/ceefe01a7fac03058418bf7e.jpg" alt="" width="400" height="184" /></a></p>
<p><strong><span style="color: #ff0000;">二、只允许某类文件上传<br />
</span></strong><br />
1、在用户的“目录访问”那里添加一条访问规则，路径设置为 *.html，设置 读取、写入、追加、删除权限，并放在第一条。<br />
2、取消文件目录的 写入、追加、删除权限 。</p>
<p>这样处理后，就只能上传 *.html 的文件了。</p>
<div><a href="http://www.secblog.cn/wp-content/uploads/2011/03/edb1020eca062c366259f37f.jpg"><img class="alignnone size-full wp-image-910" title="edb1020eca062c366259f37f" src="http://www.secblog.cn/wp-content/uploads/2011/03/edb1020eca062c366259f37f.jpg" alt="" width="400" height="179" /></a></div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.secblog.cn/bing/903.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PostFix之postqueue指令</title>
		<link>http://www.secblog.cn/unix/871.html</link>
		<comments>http://www.secblog.cn/unix/871.html#comments</comments>
		<pubDate>Fri, 03 Dec 2010 10:17:29 +0000</pubDate>
		<dc:creator>豬頭濱</dc:creator>
				<category><![CDATA[Unix日志]]></category>

		<guid isPermaLink="false">http://www.secblog.cn/?p=871</guid>
		<description><![CDATA[看被Queue的信: postqueue -q (我都是用這個) or mailq 強迫將Queue信寄出: postqueue -f 刪除所有被Queue的信: postsuper -d ALL 刪除某封Queue的信: 先用postqueue -q or mailq 查queue_id postsuper -d queue_id 刪除所有正在 deferred 佇列中的郵件 ( 刪除曾經發送失敗的信 ): postsuper -d ALL deferred 刪除所有正在 deferred 佇列中的郵件 ( 可看出哪些信被刪除了 ): find /var/spool/postfix/deferred -type f -exec rm -vf {} ; 刪掉「三天以前」無法發出的郵件: find /var/spool/postfix/deferred -type f -mtime +3 -exec [...]]]></description>
			<content:encoded><![CDATA[<p><strong>看被Queue的信:</strong><br />
postqueue  -q (我都是用這個)<br />
or<br />
mailq</p>
<p><strong>強迫將Queue信寄出:<br />
</strong>postqueue  -f</p>
<p><strong>刪除所有被Queue的信:<br />
</strong><strong>postsuper</strong> -<strong>d</strong> <strong>ALL</strong></p>
<p><strong>刪除某封Queue的信:<br />
</strong>先用postqueue -q  or<br />
mailq<br />
查queue_id<br />
<strong>postsuper</strong> -<strong>d</strong> queue_id</p>
<p><strong>刪除所有正在 <a name="baidusnap3"></a><strong>deferred</strong> 佇列中的郵件 ( 刪除曾經發送失敗的信 ):</strong><br />
<strong>postsuper</strong> -<strong>d</strong> <strong>ALL</strong> <strong>deferred</strong></p>
<p><strong>刪除所有正在 <strong>deferred</strong> 佇列中的郵件 ( 可看出哪些信被刪除了  ):</strong><br />
find  /var/spool/postfix/<strong>deferred</strong> -type f -exec rm -vf {}  ;</p>
<p><strong>刪掉「三天以前」無法發出的郵件:</strong><br />
find  /var/spool/postfix/<strong>deferred</strong> -type f -mtime +3 -exec rm -f {}  ;</p>
<p><strong>列出目前所有無法發出的郵件:<br />
</strong>find  /var/spool/postfix/<strong>deferred</strong> -type f -exec ls -l &#8211;time-style=+%Y-%m-%<strong>d</strong>_%H:%M:%S  {} ;</p>
<p><strong>刪除超過 5 天的  “defer” 佇列中的退信紀錄:</strong><br />
find /var/spool/postfix/defer -type f  -mtime +5 -exec rm -f {} ;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.secblog.cn/unix/871.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

