<?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>UNIXy &#187; ban files</title>
	<atom:link href="http://blog.unixy.net/tag/ban-files/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.unixy.net</link>
	<description>Fully Managed Dedicated Servers</description>
	<lastBuildDate>Fri, 03 Sep 2010 04:07:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Ban File Extensions Using Pure-ftpd</title>
		<link>http://blog.unixy.net/2009/07/ban-file-extensions-using-pure-ftpd/</link>
		<comments>http://blog.unixy.net/2009/07/ban-file-extensions-using-pure-ftpd/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 02:21:28 +0000</pubDate>
		<dc:creator>UNIXy</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[ban extensions]]></category>
		<category><![CDATA[ban files]]></category>
		<category><![CDATA[cPanel]]></category>
		<category><![CDATA[exe]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[pure-ftpd]]></category>
		<category><![CDATA[rar]]></category>

		<guid isPermaLink="false">http://blog.unixy.net/?p=16</guid>
		<description><![CDATA[Download article as PDF Pure-ftpd has no direct support to prevent files with certain extensions from being uploaded. But it&#8217;s possible to accomplish this goal using a pure-ftp feature. pure-ftpd has a post-upload program that runs after each file is successfully uploaded and can run an external program. Here&#8217;s the excerpt from the pure-ftpd manual: [...]]]></description>
			<content:encoded><![CDATA[<div class="pdf24Plugin-cp"> <form name="pdf24Form1" method="post" target="pdf24PopWin" action="http://doc2pdf.pdf24.org/wordpress.php"><input type="hidden" name="blogCharset" value="VVRGLTg=" /><input type="hidden" name="blogPosts" value="MQ==" /><input type="hidden" name="blogUrl" value="aHR0cDovL2Jsb2cudW5peHkubmV0" /><input type="hidden" name="blogName" value="VU5JWHk=" /><input type="hidden" name="blogValueEncoding" value="base64" /><input type="hidden" name="postTitle_0" value="QmFuIEZpbGUgRXh0ZW5zaW9ucyBVc2luZyBQdXJlLWZ0cGQ=" /><input type="hidden" name="postLink_0" value="aHR0cDovL2Jsb2cudW5peHkubmV0LzIwMDkvMDcvYmFuLWZpbGUtZXh0ZW5zaW9ucy11c2luZy1wdXJlLWZ0cGQv" /><input type="hidden" name="postAuthor_0" value="VU5JWHk=" /><input type="hidden" name="postDateTime_0" value="SnVseSA5LCAyMDA5IDI6MjEgYW0=" /><input type="hidden" name="postContent_0" value="PGRpdiBjbGFzcz0idHdlZXRtZW1lX2J1dHRvbiIgc3R5bGU9ImZsb2F0OiByaWdodDsgbWFyZ2luLWxlZnQ6IDEwcHg7Ij4KCQkJPGEgaHJlZj0iaHR0cDovL2FwaS50d2VldG1lbWUuY29tL3NoYXJlP3VybD1odHRwJTNBJTJGJTJGYmxvZy51bml4eS5uZXQlMkYyMDA5JTJGMDclMkZiYW4tZmlsZS1leHRlbnNpb25zLXVzaW5nLXB1cmUtZnRwZCUyRiI+PGJyIC8+CgkJCQk8aW1nIHNyYz0iaHR0cDovL2FwaS50d2VldG1lbWUuY29tL2ltYWdlYnV0dG9uLmdpZj91cmw9aHR0cCUzQSUyRiUyRmJsb2cudW5peHkubmV0JTJGMjAwOSUyRjA3JTJGYmFuLWZpbGUtZXh0ZW5zaW9ucy11c2luZy1wdXJlLWZ0cGQlMkYmYW1wO3N0eWxlPW5vcm1hbCIgaGVpZ2h0PSI2MSIgd2lkdGg9IjUwIiAvPjxiciAvPgoJCQk8L2E+CgkJPC9kaXY+CjxwPlB1cmUtZnRwZCBoYXMgbm8gZGlyZWN0IHN1cHBvcnQgdG8gcHJldmVudCBmaWxlcyB3aXRoIGNlcnRhaW4gZXh0ZW5zaW9ucyBmcm9tIGJlaW5nIHVwbG9hZGVkLiBCdXQgaXQmIzgyMTc7cyBwb3NzaWJsZSB0byBhY2NvbXBsaXNoIHRoaXMgZ29hbCB1c2luZyBhIHB1cmUtZnRwIGZlYXR1cmUuIHB1cmUtZnRwZCBoYXMgYSBwb3N0LXVwbG9hZCBwcm9ncmFtIHRoYXQgcnVucyBhZnRlciBlYWNoIGZpbGUgaXMgc3VjY2Vzc2Z1bGx5IHVwbG9hZGVkIGFuZCBjYW4gcnVuIGFuIGV4dGVybmFsIHByb2dyYW0uIEhlcmUmIzgyMTc7cyB0aGUgZXhjZXJwdCBmcm9tIHRoZSBwdXJlLWZ0cGQgbWFudWFsOjwvcD4KPGJsb2NrcXVvdGU+PHA+Ck5BTUU8YnIgLz4KcHVyZS11cGxvYWRzY3JpcHQgJiM4MjExOyBBdXRvbWF0aWNhbGx5IHJ1biBhbiBleHRlcm5hbCBwcm9ncmFtIGFmdGVyIGEgc3VjY2Vzc2Z1bCB1cGxvYWQ8L3A+CjxwPlNZTlRBWDxiciAvPgpwdXJlLXVwbG9hZHNjcmlwdCBbLXAgPC9wYXRoL3RvL3BpZGZpbGU+XSBbLUJdIFstZyA8Z2lkPl0gWy1oXSAtcgo8cHJvZ3JhbSB0byBydW4+IFstdSA8dWlkPl0KPC9wPjwvYmxvY2txdW90ZT4KPHA+U28gdGhlIHByb2dyYW0gdG8gcnVuIGluIG91ciBjYXNlIGNhbiBiZSBhIHNpbXBsZSBCYXNoIHNjcmlwdCBJJiM4MjE3O20gZ29pbmcgdG8gY2FsbCBiYW4uc2g8L3A+CjxibG9ja3F1b3RlPjxwPjxjb2RlPiMhL2Jpbi9iYXNoPC9wPgo8cD51cGxvYWRlZF9maWxlPSR7MX07PGJyIC8+CmJhbm5lZF9leHRlbnNpb25zPSJ6aXAgdGFyIHJhciI7PC9wPgo8cD5mb3IgZXh0IGluICR7YmFubmVkX2V4dGVuc2lvbnN9OzxiciAvPgpkbzxiciAvPgogY291bnQ9JChlY2hvICR7dXBsb2FkZWRfZmlsZX18Z3JlcCAtaSAke2V4dH0kfHdjIC1sKTs8YnIgLz4KIGlmIFsgIiR7Y291bnR9IiAtZ3QgIjAiIF07PGJyIC8+CiB0aGVuPGJyIC8+CiAgcm0gLWYgJHt1cGxvYWRlZF9maWxlfTsgIyBGaWxlIHdpdGggYmFubmVkIGV4dGVuc2lvbiBkZXRlY3RlZC4gRGVsZXRlIGl0LjxiciAvPgogIGJyZWFrOzxiciAvPgogZmk7PGJyIC8+CmRvbmU8YnIgLz4KPC9jb2RlPjwvcD48L2Jsb2NrcXVvdGU+CjxwPlNvIHlvdSBzdGFydCB0aGUgcHJvZ3JhbSBpbiB0aGUgYmFja2dyb3VuZCBsaWtlIHRoaXM6PC9wPgo8YmxvY2txdW90ZT48cD5wdXJlLXVwbG9hZHNjcmlwdCAtcCAvdmFyL3J1bi9wdXJlLWZ0cGQucGlkIC1CIC1yIC9yb290L2Jhbi5zaDwvcD48L2Jsb2NrcXVvdGU+CjxwPlRoYXQmIzgyMTc7cyBhbGwgZm9sa3MuPC9wPgo=" /></form> <div class="pdf24Plugin-cp-link"> 	<a href="http://en.pdf24.org" target="_blank" title="PDF"><img src="http://blog.unixy.net/wp-content/plugins/pdf24-post-to-pdf/img/sheep_16x16.gif" alt="PDF" border="0" /></a> 	<a href="javascript:void(document.pdf24Form1.submit());" onclick="var pdf24Win = window.open('about:blank', 'pdf24PopWin', 'resizable=yes,scrollbars=yes,width=400,height=200,top=0,left=0'); pdf24Win.focus(); return true;">Download article as PDF</a> </div> </div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.unixy.net%2F2009%2F07%2Fban-file-extensions-using-pure-ftpd%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.unixy.net%2F2009%2F07%2Fban-file-extensions-using-pure-ftpd%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Pure-ftpd has no direct support to prevent files with certain extensions from being uploaded. But it&#8217;s possible to accomplish this goal using a pure-ftp feature. pure-ftpd has a post-upload program that runs after each file is successfully uploaded and can run an external program. Here&#8217;s the excerpt from the pure-ftpd manual:</p>
<blockquote><p>
NAME<br />
pure-uploadscript &#8211; Automatically run an external program after a successful upload</p>
<p>SYNTAX<br />
pure-uploadscript [-p </path/to/pidfile>] [-B] [-g <gid>] [-h] -r
<program to run> [-u <uid>]
</p></blockquote>
<p>So the program to run in our case can be a simple Bash script I&#8217;m going to call ban.sh</p>
<blockquote><p><code>#!/bin/bash</p>
<p>uploaded_file=${1};<br />
banned_extensions="zip tar rar";</p>
<p>for ext in ${banned_extensions};<br />
do<br />
 count=$(echo ${uploaded_file}|grep -i ${ext}$|wc -l);<br />
 if [ "${count}" -gt "0" ];<br />
 then<br />
  rm -f ${uploaded_file}; # File with banned extension detected. Delete it.<br />
  break;<br />
 fi;<br />
done<br />
</code></p></blockquote>
<p>So you start the program in the background like this:</p>
<blockquote><p>pure-uploadscript -p /var/run/pure-ftpd.pid -B -r /root/ban.sh</p></blockquote>
<p>That&#8217;s all folks.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.unixy.net/2009/07/ban-file-extensions-using-pure-ftpd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
