<?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>奔向远方 &#187; vsftp</title>
	<atom:link href="http://www.tisswb.com/archives/tag/vsftp/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tisswb.com</link>
	<description>结婚开始倒计时了，高兴~</description>
	<lastBuildDate>Tue, 19 Jul 2011 09:30:17 +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>vsftpd.conf中的配置信息详解</title>
		<link>http://www.tisswb.com/archives/205.html</link>
		<comments>http://www.tisswb.com/archives/205.html#comments</comments>
		<pubDate>Fri, 14 Nov 2008 08:22:16 +0000</pubDate>
		<dc:creator>笨二十一</dc:creator>
				<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[vsftp]]></category>
		<category><![CDATA[vsftpd.conf]]></category>

		<guid isPermaLink="false">http://www.tisswb.cn/?p=205</guid>
		<description><![CDATA[　　Anonymous_enable=yes (允许匿名登陆)
　　Dirmessage_enable=yes （切换目录时，显示目录下.message的内容）
　　Local_umask=022 (FTP上本地的文件权限，默认是077)
　　Connect_form_port_20=yes （启用FTP数据端口的数据连接）*
　　Xferlog_enable=yes （激活上传和下传的日志）
　　Xferlog_std_format=yes (使用标准的日志格式)
　　Ftpd_banner=XXXXX （欢迎信息）
　　Pam_service_name=vsftpd （验证方式）*
　　Listen=yes （独立的VSFTPD服务器）*
　　Anon_upload_enable=yes (开放上传权限)
<span class="readmore"><a href="http://www.tisswb.com/archives/205.html" title="vsftpd.conf中的配置信息详解" target="_blank">阅读全文——共1970字</a></span>]]></description>
			<content:encoded><![CDATA[<p>　　Anonymous_enable=yes (允许匿名登陆)</p>
<p>　　Dirmessage_enable=yes （切换目录时，显示目录下.message的内容）</p>
<p>　　Local_umask=022 (FTP上本地的文件权限，默认是077)</p>
<p>　　Connect_form_port_20=yes （启用FTP数据端口的数据连接）*</p>
<p>　　Xferlog_enable=yes （激活上传和下传的日志）</p>
<p>　　Xferlog_std_format=yes (使用标准的日志格式)</p>
<p>　　Ftpd_banner=XXXXX （欢迎信息）</p>
<p>　　Pam_service_name=vsftpd （验证方式）*</p>
<p>　　Listen=yes （独立的VSFTPD服务器）*</p>
<p>　　Anon_upload_enable=yes (开放上传权限)</p>
<p>　　Anon_mkdir_write_enable=yes （可创建目录的同时可以在此目录中上传文件）</p>
<p>　　Write_enable=yes (开放本地用户写的权限)</p>
<p>　　Anon_other_write_enable=yes (匿名帐号可以有删除的权限)</p>
<p>　　Anon_world_readable_only=no (放开匿名用户浏览权限)</p>
<p>　　Ascii_upload_enable=yes (启用上传的ASCII传输方式)</p>
<p>　　Ascii_download_enable=yes (启用下载的ASCII传输方式)</p>
<p>　　Banner_file=/var/vsftpd_banner_file (用户连接后欢迎信息使用的是此文件中的相关信息)</p>
<p>　　Idle_session_timeout=600(秒) （用户会话空闲后10分钟）</p>
<p>　　Data_connection_timeout=120（秒） （将数据连接空闲2分钟断）</p>
<p>　　Accept_timeout=60（秒） （将客户端空闲1分钟后断）</p>
<p>　　Connect_timeout=60（秒） （中断1分钟后又重新连接）</p>
<p>　　Local_max_rate=50000（bite） （本地用户传输率50K）</p>
<p>　　Anon_max_rate=30000（bite） （匿名用户传输率30K）</p>
<p>　　Pasv_min_port=50000 （将客户端的数据连接端口改在</p>
<p>　　Pasv_max_port=60000 50000—60000之间）</p>
<p>　　Max_clients=200 （FTP的最大连接数）</p>
<p>　　Max_per_ip=4 （每IP的最大连接数）</p>
<p>　　Listen_port=5555 （从5555端口进行数据连接）</p>
<p>　　Local_enble=yes （本地帐户能够登陆）</p>
<p>　　Write_enable=no （本地帐户登陆后无权删除和修改文件）</p>
<p>　　这是一组</p>
<p>　　Chroot_local_user=yes （本地所有帐户都只能在自家目录）</p>
<p>　　Chroot_list_enable=yes （文件中的名单可以调用）</p>
<p>　　Chroot_list_file=/任意指定的路径/vsftpd.chroot_list</p>
<p>　　（前提是chroot_local_user=no）</p>
<p>　　这又是一组</p>
<p>　　Userlist_enable=yes （在指定的文件中的用户不可以访问）</p>
<p>　　Userlist_deny=yes</p>
<p>　　Userlist_file=/指定的路径/vsftpd.user_list</p>
<p>　　又开始单的了</p>
<p>　　Banner_fail=/路径/文件名 （连接失败时显示文件中的内容）</p>
<p>　　Ls_recurse_enable=no</p>
<p>　　Async_abor_enable=yes</p>
<p>　　One_process_model=yes</p>
<p>　　Listen_address=10.2.2.2 （将虚拟服务绑定到某端口）</p>
<p>　　Guest_enable=yes (虚拟用户可以登陆)</p>
<p>　　Guest_username=所设的用户名 （将虚拟用户映射为本地用户）</p>
<p>　　User_config_dir=/任意指定的路径/为用户策略自己所建的文件夹</p>
<p>　　(指定不同虚拟用户配置文件的路径)</p>
<p>　　又是一组</p>
<p>　　Chown_uploads=yes （改变上传文件的所有者为root）</p>
<p>　　Chown_username=root</p>
<p>　　又是一组</p>
<p>　　Deny_email_enable=yes (是否允许禁止匿名用户使用某些邮件地址)</p>
<p>　　Banned_email_file=//任意指定的路径/xx/</p>
<p>　　又是单的</p>
<p>　　Pasv_enable=yes （ 服务器端用被动模式）</p>
<p>　　User_config_dir=/任意指定的路径//任意文件目录 (指定虚拟用户存放配置文件的路径)</p>
<p>有一点需要注意，配置文件中不能有多余的空行，特别是每行结尾处，否则会出现无法登陆的错误</p>
<p>可以使用 sed -n &#8217;1,$l&#8217; vsftpd.conf   命令查看vsftpd.conf文件，检查每一行结尾是否出现多余空格。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tisswb.com/archives/205.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>无错配置ubuntu+vsftpd+mysql+pam的ftp服务器端</title>
		<link>http://www.tisswb.com/archives/52.html</link>
		<comments>http://www.tisswb.com/archives/52.html#comments</comments>
		<pubDate>Fri, 16 May 2008 09:52:35 +0000</pubDate>
		<dc:creator>笨二十一</dc:creator>
				<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vsftp]]></category>

		<guid isPermaLink="false">http://www.tisswb.cn/?p=52</guid>
		<description><![CDATA[需要安装一个ftp服务器，需要使用多ftp用户并能够方便的管理ftp用户。于是使用vsftp+mysql+pam的组合，在mysql中进行用户管理。
1.安装vsftpd
sudo apt-get install vsftpd
2.创建guest用户
vsftpd安装的时候会自动安转一个ftp用户，在passwd中删除
sudo useradd virtual
设置virtual的密码为webftp
sudo passwd virtual
编辑virtual用户的主目录并设置shell
sudo vim /etc/passwd
<span class="readmore"><a href="http://www.tisswb.com/archives/52.html" title="无错配置ubuntu+vsftpd+mysql+pam的ftp服务器端" target="_blank">阅读全文——共1902字</a></span>]]></description>
			<content:encoded><![CDATA[<p>需要安装一个ftp服务器，需要使用多ftp用户并能够方便的管理ftp用户。于是使用vsftp+mysql+pam的组合，在mysql中进行用户管理。</p>
<p><strong>1.安装vsftpd</strong></p>
<blockquote><p>sudo apt-get install vsftpd</p></blockquote>
<p><strong>2.创建guest用户</strong></p>
<p>vsftpd安装的时候会自动安转一个ftp用户，在passwd中删除</p>
<blockquote><p>sudo useradd virtual</p></blockquote>
<p>设置virtual的密码为webftp</p>
<blockquote><p>sudo passwd virtual</p></blockquote>
<p>编辑virtual用户的主目录并设置shell</p>
<blockquote><p>sudo vim /etc/passwd</p></blockquote>
<p>我设置的是virtual:x:1001:1001::/var/www:/bin/false</p>
<p>/var/www virtual的主目录</p>
<p>/bin/false 禁止virtual用户终端登陆</p>
<p><strong>3.设置mysql数据库和用户权限</strong></p>
<p>在phpmyadmin中建立vsftp数据库 vsftp用户</p>
<p>建立用户表</p>
<blockquote><p>create table users(name char(16) binary,passwd char(16) binary);</p></blockquote>
<p>并授权vistual用户users表的select权限，并设置密码。</p>
<p><strong>4.设置MySQL的PAM验证</strong></p>
<p>安装libpam-mysql</p>
<blockquote><p>sudo apt-get install libpam-mysql</p></blockquote>
<p>要设置vsftpd的PAM验证文件</p>
<blockquote><p>sudo cp /usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd</p></blockquote>
<p>把内容替换为如下：</p>
<blockquote><p>auth    required        /lib/security/pam_mysql.so      user=virtual    passwd=webftp   host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2<br />
account required        /lib/security/pam_mysql.so      user=virtual    passwd=webftp   host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2</p></blockquote>
<p><strong>5.设置vsftpd.conf</strong></p>
<blockquote><p>guest_enable=YES<br />
guest_username=virtual</p></blockquote>
<p>这两项必须打开，其他配置请查阅vsftpd.conf的配置手册</p>
<p><strong>6.虚拟用户目录的权限改为只能由virtual操作</strong>：</p>
<blockquote><p>sudo chown virtual.virtual /var/www<br />
sudo chmod 755 /var/www</p></blockquote>
<p>virtual获得www文件夹的权限，并设置www文件夹权限为755</p>
<p>至此，最基本的虚拟用户已经完成。</p>
<blockquote><p>sudo /etc/init.d/vsftpd restart</p></blockquote>
<p>重启vsftpd服务后即可以用users表中设置的用户名密码进行www文件夹的访问了。</p>
<p>附：<br />
1.安装文件的目录查找命令</p>
<blockquote><p>dpkg -L 包名称</p></blockquote>
<p>2.不同用户的个人目录</p>
<p>为每个虚拟用户建立自家目录。首先，在主配置文件中加入以下选项：</p>
<blockquote><p>user_config_dir=/etc/vsftpd/vsftpd_user_conf</p></blockquote>
<p>然后，生成/etc/vsftpd/vsftpd_user_conf目录，并在该目录下建立与特定虚拟用户同名的文件：</p>
<blockquote><p>sudo mkdir /etc/vsftpd/vsftpd_user_conf<br />
cd /etc/vsftpd/vsftpd_user_conf</p></blockquote>
<p>为虚拟用户xiaowang建立了个人配置文件/etc/vsftpd/vsftpd_user_conf/xiaowang。</p>
<p>接下来，在xiaowang的个人配置文件中将xiaowang的自家目录修改为/home/xiaowang，配置选项为：</p>
<blockquote><p>local_root=/home/xiaowang</p></blockquote>
<p>然后，新建xiaowang目录，并将权限设为vsftpdguest：</p>
<p>经过以上设置，xiaowang登录VSFTPD后，用“pwd”指令就可以发现被自己被定位到自己的“/home/xiaowang”目录。</p>
<p>从文件系统层次来看，由于“/home/xiaowang”目录的权限是属于vsftpdguest的，所以其他的虚拟用户同样也可以访问xiaowang的自家目录。解决这个问题也很简单，我们只需要让VSFTPD负责将虚拟用户限制在其自家目录，就可以避免虚拟用户的互相访问。具体做法参照前面第六步中所述，这里不再赘述。经过以上设置后，虚拟用户就可以拥有属于自己的目录了。</p>
<p> </p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tisswb.com/archives/52.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VSFTP＋MySQL虚拟用户配置过程讲解</title>
		<link>http://www.tisswb.com/archives/20.html</link>
		<comments>http://www.tisswb.com/archives/20.html#comments</comments>
		<pubDate>Mon, 31 Mar 2008 05:13:09 +0000</pubDate>
		<dc:creator>笨二十一</dc:creator>
				<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vsftp]]></category>

		<guid isPermaLink="false">http://www.tisswb.cn/?p=20</guid>
		<description><![CDATA[　　VSFTPD是一种在UNIX/Linux中非常安全且快速的FTP服务器，目前已经被许多大型站点所采用。VSFTPD支持将用户名和口令保存在数据库文件或数据库服务器中。VSFTPD称这种形式的用户为虚拟用户。相对于FTP的本地（系统）用户来说，虚拟用户只是FTP服务器的专有用户，虚拟用户只能访问FTP服务器所提供的资源，这大大增强系统本身的安全性。相对于匿名用户而言，虚拟用户需要用户名和密码才能获取FTP服务器中的文件，增加了对用户和下载的可管理性。对于需要提供下载服务，但又不希望所有人都可以匿名下载；既需要对下载用户进行管理，又考虑到主机安全和管理方便的FTP站点来说，虚拟用户是一种极好的解决方案。本文介绍在RedHat Linux 9上如何将VSFTPD的虚拟用户名和密码保存在MySQL数据库服务器中。 
　　 
　　一、VSFTPD的安装 
　　目前，VSFTPD的最新版本是1.2.0版。官方下载地址为ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.2.0.tar.gz。在安装前，需要先做以下准备工作： 
<span class="readmore"><a href="http://www.tisswb.com/archives/20.html" title="VSFTP＋MySQL虚拟用户配置过程讲解" target="_blank">阅读全文——共6222字</a></span>]]></description>
			<content:encoded><![CDATA[<p>　　VSFTPD是一种在UNIX/Linux中非常安全且快速的FTP服务器，目前已经被许多大型站点所采用。VSFTPD支持将用户名和口令保存在数据库文件或数据库服务器中。VSFTPD称这种形式的用户为虚拟用户。相对于FTP的本地（系统）用户来说，虚拟用户只是FTP服务器的专有用户，虚拟用户只能访问FTP服务器所提供的资源，这大大增强系统本身的安全性。相对于匿名用户而言，虚拟用户需要用户名和密码才能获取FTP服务器中的文件，增加了对用户和下载的可管理性。对于需要提供下载服务，但又不希望所有人都可以匿名下载；既需要对下载用户进行管理，又考虑到主机安全和管理方便的FTP站点来说，虚拟用户是一种极好的解决方案。本文介绍在RedHat Linux 9上如何将VSFTPD的虚拟用户名和密码保存在MySQL数据库服务器中。 <br />
　　 <br />
　　一、VSFTPD的安装 </p>
<p>　　目前，VSFTPD的最新版本是1.2.0版。官方下载地址为ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.2.0.tar.gz。在安装前，需要先做以下准备工作： <br />
　　 <br />
　　VSFTPD默认配置中需要“nobody”用户。在系统中添加此用户，如果用户已经存在，useradd命令有相应提示。 <br />
　　[root@hpe45 root]# useradd nobody <br />
　　useradd: user nobody exists <br />
　　 <br />
　　VSFTPD默认配置中需要“/usr/share/empty”目录。在系统中此目录，如果目录已经存在，mkdir命令有相应提示。 <br />
　　[root@hpe45 root]# mkdir /usr/share/empty/ <br />
　　mkdir: cannot create directory &#8217;/usr/share/empty&#8217;: File exists <br />
　　 <br />
　　VSFTPD提供匿名FTP服务时，需要“ftp”用户和一个有效的匿名目录。 <br />
　　[root@hpe45 root]# mkdir /var/ftp/ <br />
　　[root@hpe45 root]# useradd -d /var/ftp ftp <br />
　　接下来的操作对于ftp用户是否已经存在都是有用的。 <br />
　　[root@hpe45 root]# chown root.root /var/ftp <br />
　　[root@hpe45 root]# chmod og-w /var/ftp <br />
　　 <br />
　　以上准备工作完成后，我们就可以开始编译源代码了。假定我们下载的vsftpd-1.2.0.tar.gz在/root目录，执行以下命令： <br />
　　[root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz <br />
　　[root@hpe45 root]# cd vsftpd-1.2.0 <br />
　　[root@hpe45 vsftpd-1.2.0]# make <br />
　　[root@hpe45 vsftpd-1.2.0]# make install <br />
　　 <br />
　　上面的“make install”命令将编译好的二进制文件、手册等复制到相应目录。在RHL9上，可能需要手动执行以下复制： <br />
　　[root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd <br />
　　[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5 <br />
　　[root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8 <br />
　　 <br />
　　接下来，我们复制一个简单的配置文件作为基础供后面修改。 <br />
　　[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc <br />
　　[root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp <br />
　　复制PAM验证文件，以允许本地用户登录VSFTPD。 <br />
　　[root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp <br />
　　 <br />
　　二、创建guest用户 </p>
<p>　　VSFTPD采用PAM方式验证虚拟用户。由于虚拟用户的用户名/口令被单独保存，因此在验证时，VSFTPD需要用一个系统用户的身份来读取数据库文件或数据库服务器以完成验证，这就是VSFTPD的guest用户。这正如同匿名用户也需要有一个系统用户ftp一样。当然，我们也可以把guest用户看成是虚拟用户在系统中的代表。下面在系统中添加vsftpdguest用户，作为VSFTPD的guest。 <br />
　　[root@hpe45 vsftpd-1.2.0]# useradd vsftpdguest <br />
　　当虚拟用户登录后，所在的位置为vsftpdguest的自家目录/home/vsftpdguest。如果要让虚拟用户登录到/var/ftp等其他目录，修改vsftpdguest的自家目录即可。 <br />
　　 <br />
　　三、设置VSFTPD配置文件 </p>
<p>　　在/etc/vsftpd.conf文件中，加入以下选项： <br />
　　guest_enable=YES <br />
　　guest_username=vsftpdguest <br />
　　 <br />
　　然后执行以下命令，让VSFTPD在后台运行： <br />
　　[root@hpe45 vsftpd-1.2.0]# /usr/local/sbin/vsftpd &amp; <br />
　　 <br />
　　四、将虚拟用户保存在MySQL数据库服务器中 </p>
<p>　　我们建立数据库vsftpdvu，表users，字段name和passwd用于保存虚拟用户的用户名和口令,同时增加两个虚拟用户xiaotong和xiaowang。 <br />
　　 <br />
　　[root@hpe45 vsftpd-1.2.0]# mysql -p <br />
　　mysql&gt;create database vsftpdvu; <br />
　　mysql&gt;use vsftpdvu; <br />
　　mysql&gt;create table users(name char(16) binary,passwd char(16) binary); <br />
　　mysql&gt;insert into users (name,passwd) values (&#8216;xiaotong&#8217;,password(&#8216;qqmywife&#8217;)); <br />
　　mysql&gt;insert into users (name,passwd) values (&#8216;xiaowang&#8217;,password(&#8216;ttmywife&#8217;)); <br />
　　mysql&gt;quit <br />
　　 <br />
　　然后，授权vsftpdguest可以读vsftpdvu数据库的users表。执行以下命令： <br />
　　[root@hpe45 vsftpd-1.2.0]# mysql -u root mysql -p <br />
　　mysql&gt;grant select on vsftpdvu.users to vsftpdguest@localhost identified by &#8217;i52serial0&#8242;; <br />
　　mysql&gt;quit <br />
　　 <br />
　　如果要验证刚才的操作是否成功可以执行下面命令： <br />
　　[root@hpe45 vsftpd]#mysql -u vsftpdguest -pi52serial0 vsftpdvu <br />
　　mysql&gt;select * from users; <br />
　　如果成功，将会列出xiaotong、xiaowang和加密后的密码 <br />
　　 <br />
　　五、设置MySQL的PAM验证 </p>
<p>　　这里我们要用到一个利用mysql进行pam验证的开源项目（http://sourceforge.net/projects/pam-mysql/）。首先从网站下载它的程序包pam_myql-0.5.tar.gz，复制到/root目录中。在编译安装之前，要确保mysql-devel的RPM包已经安装在你的机器上，如果没有请从RHL安装光盘中安装该包。然后，执行以下命令： <br />
　　[root@hpe45 root]#tar xvzf pam_mysql-0.5.tar.gz <br />
　　[root@hpe45 root]#cd pam_mysql <br />
　　[root@hpe45 pam_mysql]#make <br />
　　[root@hpe45 pam_mysql]#make install <br />
　　make install这一步可能会出现错误，那只好手动将该目录下生成的pam_mysql.o复制到/lib/security目录下。 <br />
　　接下来，我们要设置vsftpd的PAM验证文件。打开/etc/pam.d/ftp文件，加入以下内容： <br />
　　auth required pam_mysql.o user=vsftpdguest passwd=i52serial0 host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2 <br />
　　account required pam_mysql.o user=vsftpdguest passwd=i52serial0 host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2 <br />
　　上面涉及到的参数，只要对应前面数据库的设置就可以明白它们的含义。这里需要说明的是crypt参数。crypt表示口令字段中口令的加密方式：crypt=0，口令以明文方式（不加密）保存在数据库中；crypt=1，口令使用UNIX系统的DES加密方式加密后保存在数据库中；crypt=2，口令经过MySQL的password()函数加密后保存。 <br />
　　 <br />
　　六、进一步的虚拟用户设置 </p>
<p>　　经过以上的步骤，虚拟用户就可以正常使用了。这里介绍进一步的虚拟用户设置。首先，介绍虚拟用户的权限设置。 <br />
　　 <br />
　　VSFTPD-1.2.0新添了virtual_use_local_privs参数，当该参数激活（YES）时，虚拟用户使用与本地用户相同的权限。当此参数关闭（NO）时，虚拟用户使用与匿名用户相同的权限，这也就是VSFTPD-1.2.0之前版本对虚拟用户权限的处理方法。这两者种做法相比，后者更加严格一些，特别是在有写访问的情形下。默认情况下此参数是关闭的（NO）。 <br />
　　当virtual_use_local_privs=YES时，只需设置write_enable=YES，虚拟用户就可以就拥有写权限。而virtual_use_local_privs=NO时，对虚拟用户权限的设置就更多一些更严格一些。 <br />
　　控制虚拟用户浏览目录：如果让用户不能浏览目录，但仍可以对文件操作，那么需要执行以下二个步骤：一，配置文件中，anon_world_readable_only=YES。二，虚拟用户目录的权限改为只能由vsftpdguest操作： <br />
　　[root@hpe45 root]# chown vsftpdguest.vsftpdguest /home/vsftpdguest <br />
　　[root@hpe45 root]# chmod 700 /home/vsftpdguest <br />
　　允许虚拟用户上传文件： <br />
　　write_enable=YES <br />
　　anon_upload_enable=YES <br />
　　允许虚拟用户修改文件名和删除文件： <br />
　　anon_other_write_enable=YES <br />
　　由于以上选项的设置同样会对匿名用户生效。如果不想匿名用户趁机拥有同样的权限，最好是禁止匿名用户登录。 <br />
　　 <br />
　　其次，由于虚拟用户在系统中是vsftpdguest身份，所以可以访问到系统的其他目录。为了更加安全，我们可以将虚拟用户限制在自家目录下。有两种做法：一，在配置文件中增加以下选项 <br />
　　chroot_local_user=NO <br />
　　chroot_list_enable=YES <br />
　　chroot_list_file=/etc/vsftpd.chroot_list <br />
　　然后，在/etc/vsftpd.chroot_list文件中加入虚拟用户名xiaotong和xiaowang。 <br />
　　第二种做法，在配置文件中修改chroot_local_user=YES。 <br />
　　经过修改后，虚拟用户登录后其根目录就限制在/home/vsftpdguest下，无法访问其他目录。 <br />
　　 <br />
　　七、虚拟用户的个人目录 </p>
<p>　　大家可以发现，无论是哪个虚拟用户，登录后所在的目录都是/home/vsftpdguest，即都是guest_username用户的自家目录。下面，介绍如何为每个虚拟用户建立自家目录。首先，在主配置文件中加入以下选项： <br />
　　user_config_dir=/etc/vsftpd/vsftpd_user_conf <br />
　　然后，生成/etc/vsftpd/vsftpd_user_conf目录，并在该目录下建立与特定虚拟用户同名的文件： <br />
　　[root@hpe45 root]# mkdir /etc/vsftpd/vsftpd_user_conf <br />
　　[root@hpe45 root]# cd /etc/vsftpd/vsftpd_user_conf <br />
　　[root@hpe45 vsftpd_user_conf]# touch xiaowang <br />
　　以上的操作为虚拟用户xiaowang建立了个人配置文件/etc/vsftpd/vsftpd_user_conf/xiaowang。接下来，在xiaowang的个人配置文件中将xiaowang的自家目录修改为/home/xiaowang，配置选项为： <br />
　　local_root=/home/xiaowang <br />
　　然后，新建xiaowang目录，并将权限设为vsftpdguest： <br />
　　[root@hpe45 vsftpd_user_conf]# mkdir /home/xiaowang <br />
　　[root@hpe45 vsftpd_user_conf]# chown vsftpdguest.vsftpdguest ./xiaowang <br />
　　[root@hpe45 vsftpd_user_conf]# chmod 600 /home/xiaowang <br />
　　经过以上设置，xiaowang登录VSFTPD后，用“pwd”指令就可以发现被自己被定位到自己的“/home/xiaowang”目录。 <br />
　　从文件系统层次来看，由于“/home/xiaowang”目录的权限是属于vsftpdguest的，所以其他的虚拟用户同样也可以访问xiaowang的自家目录。解决这个问题也很简单，我们只需要让VSFTPD负责将虚拟用户限制在其自家目录，就可以避免虚拟用户的互相访问。具体做法参照前面第六步中所述，这里不再赘述。经过以上设置后，虚拟用户就可以拥有属于自己的目录了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tisswb.com/archives/20.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>vsftpd虚拟用户设置权限</title>
		<link>http://www.tisswb.com/archives/18.html</link>
		<comments>http://www.tisswb.com/archives/18.html#comments</comments>
		<pubDate>Sun, 30 Mar 2008 17:30:04 +0000</pubDate>
		<dc:creator>笨二十一</dc:creator>
				<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vsftp]]></category>

		<guid isPermaLink="false">http://www.tisswb.cn/?p=18</guid>
		<description><![CDATA[a,激活单个用户配置功能,增加以下配置行到vsftpd的配置文件:
#nano /etc/vsftpd.conf
#指定不同用户配置文件的存放路径
user_config_dir=/etc/vsftpd/vsftpd_user_conf
b,普通用户:下载/上传
编辑/etc/vsftpd/vsftpd_user_conf/normal
注意:用户的配置文件名与用户名一致,不过匿名用户的配置文件名为ftp,而不是anonymous
#mkdir /etc/vsftpd/vsftpd_user_conf
#nano /etc/vsftpd/vsftpd_user_conf/normal
加入以下内容:
<span class="readmore"><a href="http://www.tisswb.com/archives/18.html" title="vsftpd虚拟用户设置权限" target="_blank">阅读全文——共1704字</a></span>]]></description>
			<content:encoded><![CDATA[<p>a,激活单个用户配置功能,增加以下配置行到vsftpd的配置文件:</p>
<p>#nano /etc/vsftpd.conf</p>
<p>#指定不同用户配置文件的存放路径<br />
user_config_dir=/etc/vsftpd/vsftpd_user_conf<br />
b,普通用户:下载/上传<br />
编辑/etc/vsftpd/vsftpd_user_conf/normal<br />
注意:用户的配置文件名与用户名一致,不过匿名用户的配置文件名为ftp,而不是anonymous</p>
<p>#mkdir /etc/vsftpd/vsftpd_user_conf</p>
<p>#nano /etc/vsftpd/vsftpd_user_conf/normal<br />
加入以下内容:</p>
<p>#允许下载<br />
anon_world_readable_only=NO<br />
#允许写入,上传以及建立目录<br />
write_enable=YES<br />
anon_upload_enable=YES<br />
anon_mkdir_write_enable=YES<br />
c,管理员用户:下载/上传/删除等.</p>
<p>#cp /etc/vsftpd/vsftpd_user_conf/normal /etc/vsftpd/vsftpd_user_conf/admin<br />
编辑admin的配置文件:</p>
<p>#nano /etc/vsftpd/vsftpd_user_conf/admin<br />
管理员除了拥有普通用户的权限以外,还拥有删除/重命名/改变文件属性的权限</p>
<p>加入以下内容:</p>
<p>#允许重命名和删除文件<br />
anon_other_write_enable=YES<br />
#虚拟用户拥有与本地用户相同的权限(由于chmod仅仅对本地用户有效,所以如果想要虚拟用户拥有chmod的权限,这一项必须激活)<br />
virtual_use_local_privs=YES<br />
#允许修改文件属性<br />
chmod_enable=YES<br />
d,网站管理员</p>
<p>#cp /etc/vsftpd/vsftpd_user_conf/admin /etc/vsftpd/vsftpd_user_conf/webmaster<br />
编辑webmaster的配置文件:</p>
<p>#nano /etc/vsftpd/vsftpd_user_conf/webmaster<br />
加入以下内容:</p>
<p>#将FTP家目录指向网站的家目录(我的www目录使用Apache默认的目录)<br />
local_root=/var/www<br />
#默认情况下,上传到FTP站点的文件的拥有者都是ftpguest,其他用户是没有访问权限的<br />
#所以,当访问网站的时候,会出现&#8221;没有权限访问该文件的错误&#8221;,这是由于Apache的用户<br />
#www-data无法访问/var/www下的文件造成的,把umask设置成033甚至000即可解决这个问题.<br />
local_umask=033</p>
<p>e,为normal,admin用户设置对incoming,pub目录不同的权限<br />
阅读了一遍vsftpd man中关于权限的相关设置,似乎没有单独设置每个目录权限的地方?<br />
后来想到是不是可以利用Linux文件系统的文件权限设置来达到此目的,以前在Windows下<br />
利用IIS来架设站点时,我就是利用NTFS权限设置来达到控制不同用户对目录的访问权限.<br />
不过试了一下,还是无法完美的实现以下的权限控制:<br />
incoming pub<br />
normal 读/写 只读<br />
admin 读/写 读/写<br />
举例来说,可以通过把pub设置成只读来控制normal用户只读pub的权限,不过admin对pub也是只读了<br />
不过,还好,因为admin拥有修改目录属性的权限,如果admin用户想要通过FTP来完成管理pub目录的话,可以临时把pub目录修改成读/写属性.</p>
<p>四,小结</p>
<p>1,vsftpd的目标是完成一个简易而且安全性不低的FTPD,功能嘛,似乎还是有点不足,特别是目录权限这方面的设置<br />
如果是对目录权限有比较复杂的需求的话,可以考虑一下Proftpd .</p>
<p>2,在测试的时候,除了使用FTP Client工具以外,最好再使用Sniffer类的软件作为辅助,因为有时候FTP Client并不会完全把<br />
FTPD返回信息呈现在你面前,而有时候,这些信息对排除FTPD故障会有很大帮助的,而一旦使用Sniffer类的软件,所有的<br />
客户端与服务器端交互的信息都不会漏掉的.</p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tisswb.com/archives/18.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vsftpd虚拟用户设置</title>
		<link>http://www.tisswb.com/archives/17.html</link>
		<comments>http://www.tisswb.com/archives/17.html#comments</comments>
		<pubDate>Sat, 29 Mar 2008 18:41:41 +0000</pubDate>
		<dc:creator>笨二十一</dc:creator>
				<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[vsftp]]></category>

		<guid isPermaLink="false">http://www.tisswb.cn/?p=17</guid>
		<description><![CDATA[vsftpd指定虚拟用户登录后，本地用户就不能登陆了。
    建立虚拟用户
    [root@rhel4 opt]# cat &#60;&#60; ! &#62;logins.txt 说明：此文本文件的格式是：单数行为用户名，偶数行为密码
    &#62; upload
    &#62; 123456
    &#62; download
    &#62; 123456
    &#62; admin
    &#62; 123456
    &#62; !
<span class="readmore"><a href="http://www.tisswb.com/archives/17.html" title="Vsftpd虚拟用户设置" target="_blank">阅读全文——共1918字</a></span>]]></description>
			<content:encoded><![CDATA[<p>vsftpd指定虚拟用户登录后，本地用户就不能登陆了。</p>
<p>    建立虚拟用户</p>
<p>    [root@rhel4 opt]# cat &lt;&lt; ! &gt;logins.txt 说明：此文本文件的格式是：单数行为用户名，偶数行为密码</p>
<p>    &gt; upload</p>
<p>    &gt; 123456</p>
<p>    &gt; download</p>
<p>    &gt; 123456</p>
<p>    &gt; admin</p>
<p>    &gt; 123456</p>
<p>    &gt; !</p>
<p>    [root@rhel4 opt]# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db</p>
<p>    [root@rhel4 opt]# chmod 600 /etc/vsftpd_login.db</p>
<p>    [root@rhel4 opt]# cd /opt/vsftpd-1.2.1/EXAMPLE/VIRTUAL_USERS (进入解包的源码目录，把虚拟用户的认证文件拷贝到/etc/pam.d/下)</p>
<p>    [root@rhel4 VIRTUAL_USERS]# cp vsftpd.pam /etc/pam.d/ftp.vu</p>
<p>    (建立虚拟用户所要访问的ftp目录并设置仅virtual用户访问的权限和创建一个供下载实验的文件)</p>
<p>    [root@rhel4 VIRTUAL_USERS]# mkdir /var/ftpsite</p>
<p>    [root@rhel4 VIRTUAL_USERS]# useradd -d /var/ftpsite virtual;</p>
<p>    [root@rhel4 VIRTUAL_USERS]# chmod 700 /var/ftpsite</p>
<p>    [root@rhel4 VIRTUAL_USERS]# chown virtual /var/ftpsite</p>
<p>    [root@rhel4 VIRTUAL_USERS]# su &#8211; virtual -c &#8220;echo hello &gt;/var/ftpsite/test.file&#8221;</p>
<p>    vi /etc/vsftpd.conf在此文件中插入下面的配置语句</p>
<p>    guest_enable=YES（启用虚拟用户）</p>
<p>    guest_username=virtual（将虚拟用户映射为本地virtual用户）</p>
<p>    pam_service_name=ftp.vu（指定PAM配置文件为ftp.vu）</p>
<p>    user_config_dir=/etc/vsftpd_user_conf（指定不同虚拟用户配置文件的存放路径）</p>
<p>    [root@rhel4 VIRTUAL_USERS]# mkdir /etc/vsftpd_user_conf</p>
<p>    h.开放不同用户的不同权限　echo   &#8220;anon_world_readable_only=NO&#8221;&gt; /etc/vsftpd_user_conf/download（开放download用户的下载权限——只能下载；注意这个不地方不要写成YES，否则将不能列出文件和目录）</p>
<p>    cp /etc/vsftpd_user_conf/download /etc/vsftpd_user_conf/upload</p>
<p>    vi /etc/vsftpd_user_conf/upload，添加下列行</p>
<p>    write_enable=YES （增加写权限）</p>
<p>    anon_upload_enable=YES（增加上传权限）</p>
<p>    anon_mkdir_write_enable=YES (增加创建目录的权限）</p>
<p>    cp /etc/vsftpd_user_conf/upload /etc/vsftpd_user_conf/admin</p>
<p>    增加一行：</p>
<p>    anon_other_write_enable=YES（增加管理员用户的删除/重命名的权限）</p>
<p>    i.测试</p>
<p>    killall -9 vsftpd;/usr/local/sbin/vsftpd /etc/vsftpd.conf &amp;</p>
<p>    ftp 127.0.0.1 2121</p>
<p>    以用户名download和你设置的密码登录，ls，可以看到文件，下载，成功！put一个文件，提示Permission denied。rename test.file同样权限被拒绝；delete test.file同样不成功！</p>
<p>    输入quit退出，以upload用户登录，OK！可以上传，下载，mkdir lsf，提示“/lsf&#8221; created；rename lsf lsf1提示Permission denied,删除文件同样不成功！</p>
<p>    输入quit退出，以admin用户登录，可以有上述所有权限，然后rmdir lsf,提示Remove directory o [eration successful;delete test.file提示Delete operation successful!OK，大功告成了！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tisswb.com/archives/17.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux学习笔记——文件服务Vsftp</title>
		<link>http://www.tisswb.com/archives/12.html</link>
		<comments>http://www.tisswb.com/archives/12.html#comments</comments>
		<pubDate>Fri, 28 Mar 2008 08:17:10 +0000</pubDate>
		<dc:creator>笨二十一</dc:creator>
				<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[vsftp]]></category>

		<guid isPermaLink="false">http://www.tisswb.cn/?p=12</guid>
		<description><![CDATA[知识点：
1、FTP使用TCP连接和TCP端口
2、在进行通信时，FTP需要建立两个TCP连接：
一个用于控制信息，TCP端口号缺省为21
一个用于数据传输，TCP端口号缺省为20
3、Vsftp是一个基于GPL发布的类Unix系统上的FTP服务器
4、其名称中的VS即“Verysecure”的意思，可见安全性高。
配置：
1、查看是否安装了Vsftp
#rpm –qa vsftpd
<span class="readmore"><a href="http://www.tisswb.com/archives/12.html" title="Linux学习笔记——文件服务Vsftp" target="_blank">阅读全文——共5537字</a></span>]]></description>
			<content:encoded><![CDATA[<p>知识点：<br />
1、FTP使用TCP连接和TCP端口<br />
2、在进行通信时，FTP需要建立两个TCP连接：<br />
一个用于控制信息，TCP端口号缺省为21<br />
一个用于数据传输，TCP端口号缺省为20<br />
3、Vsftp是一个基于GPL发布的类Unix系统上的FTP服务器<br />
4、其名称中的VS即“Verysecure”的意思，可见安全性高。<br />
配置：<br />
1、查看是否安装了Vsftp<br />
#rpm –qa vsftpd<br />
2、安装<br />
放入第三张光盘<br />
#mount /mnt/cdrom<br />
#cd /mnt/cdrom/RedHat/RPMS<br />
#rpm –ivh vsftpd-1.1.3-8.i386.rpm<br />
#cd;eject<br />
3、Vsftp服务启动与停止<br />
#service vsftpd start 启动<br />
#service vsftpd stop 停止<br />
#service vsftpd restart 重启<br />
永久启动：＃setup<br />
#ps –ax | grep vsftpd 查看进程是否启动。<br />
#chkconfig –level 2345 vsftpd on 设置在系统启动时，自动启动进程。<br />
4、访问Vsftp<br />
进入 ftp 192.168.0.1<br />
输入密码进入后：ls 查看 put 上传 get下载<br />
离开bye<br />
5、配置文件<br />
主配置文件 /etc/vsftpd/vsftpd.conf<br />
用户控制文件 /etc/vsftpd.ftpusers 作用：指定哪些用户不能访问FTP，相当于一个黑名单<br />
主配置文件:<br />
option=value<br />
要注意的是，等号两边不能加空白，不然是不正确的设定。</p>
<p>＝＝＝ascii 设定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
ascii_download_enable<br />
管控是否可用ASCII模式下载。默认值为NO。<br />
ascii_upload_enable<br />
管控是否可用ASCII模式上传。默认值为NO。</p>
<p>＝＝＝个别使用者设定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
chroot_list_enable<br />
如果启动这项功能，则所有的本机使用者登入均可进到根目录之外的数据夹，除了列在/etc/vsftpd.chroot_list之中的使用者之外。默认值为NO。<br />
userlist_enable<br />
用法：YES/NO<br />
若是启动此功能，则会读取/etc/vsftpd.user_list 当中的使用者名称。此项功能可以在询问密码前就出现失败讯息，而不需要检验密码的程序。默认值为关闭。<br />
userlist_deny<br />
用法：YES/NO<br />
这个选项只有在userlist_enable启动时才会被检验。<br />
如果将这个选项设为YES，则在/etc/vsftpd.user_list 中的使用者将无法登入，<br />
若设为NO，则只有在/etc/vsftpd.user_list中的使用者才能登入。<br />
而且此项功能可以在询问密码前就出现错误讯息，而不需要检验密码的程序。<br />
user_config_dir<br />
定义个别使用者设定文件所在的目录，<br />
例如定义user_config_dir=/etc/vsftpd/userconf，且主机上有使用者test1,test2，那我们可以在user_config_dir 的目录新增文件名为test1以及test2。若是test1登入，则会读取user_config_dir下的test1 这个档案内的设定。<br />
默认值为无。</p>
<p>＝＝＝欢迎语设定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
dirmessage_enable<br />
如果启动这个选项，使用者第一次进入一个目录时，会检查该目录下是否有.message这个档案，若是有，则会出现此档案的内容，通常这个档案会放置欢迎话语，或是对该目录的说明。默认值为开启。<br />
banner_file<br />
当使用者登入时，会显示此设定所在的档案内容，通常为欢迎话语或是说明。默认值为无。<br />
ftpd_banner<br />
这边可定义欢迎话语的字符串，相较于banner_file是档案的形式，而ftpd_banner是字串的格式。默认值为无。</p>
<p>＝＝＝特殊安全设定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
chroot_local_user<br />
如果设定为YES，那么所有的本机的使用者都可以切换到根目录以外的数据夹。默认值值为NO。<br />
hide_ids<br />
如果启动这项功能，所有档案的拥有者与群组都为ftp，也就是使用者登入使用ls -al之类的指令，所看到的档案拥有者跟群组均为ftp。默认值为关闭。<br />
ls_recurse_enable<br />
若是启动此功能，则允许登入者使用ls -R 这个指令。默认值为NO。<br />
write_enable<br />
用法：YES/NO<br />
这个选项可以控制FTP的指令是否允许更改file system，譬如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE以及SITE。默认值为关闭。<br />
setproctitle_enable<br />
用法：YES/NO<br />
启动这项功能，vsftpd 会将所有联机的状况已不同的process 呈现出来，换句话说，使用ps -ef这类的指令就可以看到联机的状态。默认值为关闭。<br />
tcp_wrappers<br />
用法：YES/NO<br />
如果启动，则会将vsftpd与tcp_wrapper结合，也就是可以在/etc/hosts.allow与/etc/hosts.deny中定义允许或拒绝的来源地址。<br />
pam_service_name<br />
这边定义PAM所使用的名称，默认值为vsftpd。<br />
secure_chroot_dir<br />
这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限，当vsftpd不需要file system的权限时，就会将使用者限制在此数据夹中。默认值为/usr/share/empty。</p>
<p>＝＝＝纪录文件设定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
xferlog_enable<br />
用法：YES/NO<br />
如果启动，上传与下载的信息将被完整纪录在底下xferlog_file 所定义的档案中。默认值为开启。<br />
xferlog_file<br />
这个选项可设定纪录文件所在的位置，默认值为/var/log/vsftpd.log。<br />
xferlog_std_format<br />
如果启动，则纪录文件将会写为xferlog 的标准格式，如同wu-ftpd一般。默认值为关闭。</p>
<p>＝＝＝逾时设定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
accept_timeout<br />
接受建立联机的逾时设定，单位为秒。默认值为60。<br />
connect_timeout<br />
响应PORT 方式的数据联机的逾时设定，单位为秒。默认值为60。<br />
data_connection_timeout<br />
建立数据联机的逾时设定。默认值为300秒。<br />
idle_session_timeout<br />
发呆的逾时设定，若是超出这时间没有数据的传送或是指令的输入，则会强迫断线，单位为秒。默认值为300秒。</p>
<p>＝＝＝速率限制＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
anon_max_rate<br />
匿名登入所能使用的最大传输速度，单位为每秒多少bytes，0表示不限速度。默认值为0。<br />
local_max_rate<br />
本机使用者所能使用的最大传输速度，单位为每秒多少bytes，0表示不限速度。默认值为0。</p>
<p>＝＝＝新增档案权限设定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
anon_umask<br />
匿名登入者新增档案时的umask 数值。默认值为077。<br />
file_open_mode<br />
上传档案的权限，与chmod 所使用的数值相同。默认值为0666。<br />
local_umask<br />
本机登入者新增档案时的umask 数值。默认值为077。</p>
<p>＝＝＝port 设定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
connect_from_port_20<br />
用法：YES/NO<br />
若设为YES，则强迫ftp-data 的数据传送使用port 20。默认值为YES。<br />
ftp_data_port<br />
设定ftp 数据联机所使用的port。默认值为20。<br />
listen_port<br />
FTP server 所使用的port。默认值为21。<br />
pasv_max_port<br />
建立资料联机所可以使用port范围的上界，0表示任意。默认值为0。<br />
pasv_min_port<br />
建立资料联机所可以使用port范围的下界，0表示任意。默认值为0。</p>
<p>＝＝＝其它＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
anon_root<br />
使用匿名登入时，所登入的目录。默认值为无。<br />
local_enable<br />
用法：YES/NO<br />
启动此功能则允许本机使用者登入。默认值为YES。<br />
local_root<br />
本机使用者登入时，将被更换到定义的目录下。默认值为无。<br />
text_userdb_names<br />
用法：YES/NO<br />
当使用者登入后使用ls -al 之类的指令查询该档案的管理权时，默认值会出现拥有者的UID，而不是该档案拥有者的名称。若是希望出现拥有者的名称，则将此功能开启。默认值为NO。<br />
pasv_enable<br />
若是设为NO，则不允许使用PASV 的模式建立数据的联机。默认值为开启。</p>
<p>＝＝＝更换档案所有权＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
chown_uploads<br />
用法：YES/NO<br />
若是启动，所有匿名上传数据的拥有者将被更换为chown_username 当中所设定的使用者。这样的选项对于安全及管理，是很有用的。默认值为NO。<br />
chown_username<br />
这里可以定义当匿名登入者上传档案时，该档案的拥有者将被置换的使用者名称。默认值为root。</p>
<p>＝＝＝guest 设定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
guest_enable<br />
用法：YES/NO<br />
若是启动这项功能，所有的非匿名登入者都视为guest。默认值为关闭。<br />
guest_username<br />
这里将定义guest 的使用者名称。默认值为ftp。</p>
<p>＝＝＝anonymous 设定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
anonymous_enable<br />
用法：YES/NO<br />
管控使否允许匿名登入，YES 为允许匿名登入，NO 为不允许。默认值为YES。<br />
no_anon_password<br />
若是启动这项功能，则使用匿名登入时，不会询问密码。默认值为NO。<br />
anon_mkdir_write_enable<br />
用法：YES/NO<br />
如果设为YES，匿名登入者会被允许新增目录，当然，匿名使用者必须要有对上层目录的写入权。默认值为NO。<br />
anon_other_write_enable<br />
用法：YES/NO<br />
如果设为YES，匿名登入者会被允许更多于上传与建立目录之外的权限，譬如删除或是更名。默认值为NO。<br />
anon_upload_enable<br />
用法：YES/NO<br />
如果设为YES，匿名登入者会被允许上传目录的权限，当然，匿名使用者必须要有对上层目录的写入权。默认值为NO。<br />
anon_world_readable_only<br />
用法：YES/NO<br />
如果设为YES，匿名登入者会被允许下载可阅读的档案。默认值为YES。<br />
ftp_username<br />
定义匿名登入的使用者名称。默认值为ftp。<br />
deny_email_enable<br />
若是启动这项功能，则必须提供一个档案/etc/vsftpd.banner_emails，内容为email address。若是使用匿名登入，则会要求输入email address，若输入的email address在此档案内，则不允许联机。默认值为NO。</p>
<p>＝＝＝Standalone 选项＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
listen<br />
用法：YES/NO<br />
若是启动，则vsftpd将会以独立运作的方式执行，若是vsftpd独立执行，如RedHat Linux 9的默认值，则必须启动；若是vsftpd包含在xinetd之中，则必须关闭此功能，如RedHat Linux 8。在RedHat Linux 9中默认值为YES。<br />
listen_address<br />
若是vsftpd 使用standalone 的模式，可使用这个参数定义使用哪个IP address提供这项服务，若是主机上只有定义一个IP address，则此选项不需使用，若是有多个IP address，可定义在哪个IP address上提供ftp服务。若是不设定，则所有的IP address均会提供此服务。默认值为无。<br />
max_clients<br />
若是vsftpd使用standalone的模式，可使用这个参数定义最大的总联机数。超过这个数目将会拒绝联机，0表示不限。默认值为0。<br />
max_per_ip<br />
若是vsftpd使用standalone的模式，可使用这个参数定义每个ip address所可以联机的数目。超过这个数目将会拒绝联机，0表示不限。默认值为0。<br />
实验一、设置Chroot——用户不能切换目录<br />
因为默认情况下是可以切换目录的，所以是很不安全的。。<br />
1、限制所有用户不能切换目录<br />
chroot_local_user=YES<br />
2、设置指定的用户不能切换目录<br />
chroot_local_user=NO<br />
chroot_list_enable=YES<br />
chroot_list_file=/etc/vsftpd.chroot_list<br />
实验二、用Vsftp.user_list访问控制<br />
利用/etc/vsftpd.user_list<br />
A、设置在/etc/vsftpd.user_list文件中用户不能访问，其它用户可以访问<br />
userlist_enable=YES<br />
userlist_deny=YES<br />
userlist_file=/etc/vsftpd.user_list<br />
B、设置在/etc/vsftpd.user_list文件中的用户能访问国，其它用户不可以访问。<br />
userlist_enable=YES<br />
userlist_deny=NO<br />
userlist_file=/etc/vsftpd.user_list<br />
实验三、简单虚拟用户<br />
让abc用户不能登录系统，只能登入FTP<br />
#adduser –g ftp –s /sbin/nologin abc<br />
#passwd abc</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tisswb.com/archives/12.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ubuntu安装ftp</title>
		<link>http://www.tisswb.com/archives/10.html</link>
		<comments>http://www.tisswb.com/archives/10.html#comments</comments>
		<pubDate>Fri, 28 Mar 2008 05:25:59 +0000</pubDate>
		<dc:creator>笨二十一</dc:creator>
				<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vsftp]]></category>

		<guid isPermaLink="false">http://www.tisswb.cn/?p=10</guid>
		<description><![CDATA[ftp的软件有好多种：google一下：各种的一些大致特点：
wu-ftp：比较老牌，但针对它的攻击比较多，设置比较麻烦，但功能比较强大。
proftpd：能实现wu-ftp以及server-U的所有功能。安全性也较高，但比起vcftpd配置稍显复杂。
vsftpd：功能强大，配置也比较简单
选vsftod是因为它安全、速度快
选proftpd偶尔看到webmin支持他，所以就用了，因为方便。
选Serv-U理由windows普遍，Serv-U方便，但最大问题是盗版，所以现在不大用了
vsftpd是大多是linux系统下自带的ftp软件，而且像FREEBSD等网站都是采用，而且配置起来简单很多，所以我们也采用了vsftpd
安装：
sudo apt-get install vsftpd
<span class="readmore"><a href="http://www.tisswb.com/archives/10.html" title="ubuntu安装ftp" target="_blank">阅读全文——共2134字</a></span>]]></description>
			<content:encoded><![CDATA[<p>ftp的软件有好多种：google一下：各种的一些大致特点：<br />
wu-ftp：比较老牌，但针对它的攻击比较多，设置比较麻烦，但功能比较强大。<br />
proftpd：能实现wu-ftp以及server-U的所有功能。安全性也较高，但比起vcftpd配置稍显复杂。<br />
vsftpd：功能强大，配置也比较简单</p>
<p>选vsftod是因为它安全、速度快<br />
选proftpd偶尔看到webmin支持他，所以就用了，因为方便。<br />
选Serv-U理由windows普遍，Serv-U方便，但最大问题是盗版，所以现在不大用了</p>
<p>vsftpd是大多是linux系统下自带的ftp软件，而且像FREEBSD等网站都是采用，而且配置起来简单很多，所以我们也采用了vsftpd</p>
<p>安装：<br />
sudo apt-get install vsftpd<br />
配置：<br />
备份一下源文件：<br />
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old</p>
<p>然后修改<br />
sudo vi /etc/vsftpd.conf</p>
<p>anonymous_enable=yes (允许匿名登陆)<br />
dirmessage_enable=yes （切换目录时，显示目录下.message的内容）<br />
local_umask=022 (FTP上本地的文件权限，默认是077)<br />
connect_form_port_20=yes （启用FTP数据端口的数据连接）*<br />
xferlog_enable=yes （激活上传和下传的日志）<br />
xferlog_std_format=yes (使用标准的日志格式)<br />
ftpd_banner=XXXXX （欢迎信息）<br />
pam_service_name=vsftpd （验证方式）*<br />
listen=yes （独立的VSFTPD服务器）*<br />
功能：只能连接FTP服务器，不能上传和下传<br />
注：其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加，是属于FTP的基本选项</p>
<p>开启匿名FTP服务器上传权限<br />
在配置文件中添加以下的信息即可：</p>
<p>Anon_upload_enable=yes (开放上传权限)<br />
Anon_mkdir_write_enable=yes （可创建目录的同时可以在此目录中上传文件）<br />
Write_enable=yes (开放本地用户写的权限)<br />
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)<br />
开启匿名服务器下传的权限<br />
Anon_world_readable_only=no<br />
注：要注意文件夹的属性，匿名帐户是其它（other）用户要开启它的读写执行的权限<br />
（R）读&#8212;&#8211;下传 （W）写&#8212;-上传 （X）执行&#8212;-如果不开FTP的目录都进不去<br />
Local_enble=yes （本地帐户能够登陆）<br />
Write_enable=no （本地帐户登陆后无权删除和修改文件）<br />
功能：可以用本地帐户登陆vsftpd服务器，有下载上传的权限<br />
注：在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传</p>
<p>用户登陆限制进其它的目录，只能进它的主目录<br />
设置所有的本地用户都执行chroot</p>
<p>Chroot_local_user=yes （本地所有帐户都只能在自家目录）<br />
设置指定用户执行chroot</p>
<p>Chroot_list_enable=yes （文件中的名单可以调用）<br />
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list<br />
注意：vsftpd.chroot_list 是没有创建的需要自己添加，要想控制帐号就直接在文件中加帐号即可</p>
<p>限制本地用户访问FTP<br />
Userlist_enable=yes (用userlistlai 来限制用户访问)<br />
Userlist_deny=no (名单中的人不允许访问)<br />
Userlist_file=/指定文件存放的路径/ （文件放置的路径）<br />
注：开启userlist_enable=yes匿名帐号不能登陆</p>
<p>安全选项<br />
Idle_session_timeout=600(秒) （用户会话空闲后10分钟）<br />
Data_connection_timeout=120（秒） （将数据连接空闲2分钟断）<br />
Accept_timeout=60（秒） （将客户端空闲1分钟后断）<br />
Connect_timeout=60（秒） （中断1分钟后又重新连接）<br />
Local_max_rate=50000（bite） （本地用户传输率50K）<br />
Anon_max_rate=30000（bite） （匿名用户传输率30K）<br />
Pasv_min_port=50000 （将客户端的数据连接端口改在<br />
Pasv_max_port=60000 50000—60000之间）<br />
Max_clients=200 （FTP的最大连接数）<br />
Max_per_ip=4 （每IP的最大连接数）<br />
Listen_port=5555 （从5555端口进行数据连接）<br />
查看谁登陆了FTP,并杀死它的进程<br />
ps –xf |grep ftp<br />
kill 进程号</p>
<p>配置的时候注意文件权限的问题，开启匿名和本地后，关键是文件权限的设置，为了给不同的用户分配不同的权限，可以生成一个组，例如ftpuser，然后赋 予它何时的权限例如755，chroot（）设置可以使得本地用户限制在登录时的目录，这对于安全很重要，可以这是local_root指定本地用户登录 时的目录，负责为/home下相应目录。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tisswb.com/archives/10.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

