<?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://mifunny.info/tag/vsftp/feed" rel="self" type="application/rss+xml" />
	<link>http://mifunny.info</link>
	<description>走走停停看看，恍然大悟。</description>
	<lastBuildDate>Sat, 27 Aug 2011 18:25:29 +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配置备份</title>
		<link>http://mifunny.info/vsftpd-282.html</link>
		<comments>http://mifunny.info/vsftpd-282.html#comments</comments>
		<pubDate>Fri, 11 Sep 2009 05:05:53 +0000</pubDate>
		<dc:creator>LD</dc:creator>
				<category><![CDATA[Study notes]]></category>
		<category><![CDATA[大佛Linux]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[vsftp]]></category>
		<category><![CDATA[vsftpd]]></category>
		<category><![CDATA[配置]]></category>

		<guid isPermaLink="false">http://mifunny.info/?p=282</guid>
		<description><![CDATA[很早很早之前，在学校时写的，拿过来看看。还是颇有用得啥O(∩_∩)O~ 上学期做过vsftpd的实验，是在学校里那台机子上的，由于要学rhce的课程，现在虚拟一台centos5.1的机子，主机建一个ftp用做数据交流 和centos的零时源。 上次的实验报告给删了，这次有意记下了主要的配置过程………… 可能不太详细（毕竟是在以前的基础上回忆做的） 1.保证内核编译正确 &#8211; Security options &#8212;&#62;; &#8211; &#160;&#160;&#160; Enable different security models &#8211;&#160;&#160;&#160; &#160;&#160;&#160; &#60;*&#62;;&#160;&#160; Default Linux Capabilities 或者 ~# modprobe capability 也可。。 2.建立虚拟用户使用的 本地账户 &#8211; # useradd werewolf -s /sbin/nologin -d /home/ftp/ &#8211; # passwd werewolf 3.更改ftp目录权限 &#8211; # chmod 755 /home/ftp/ &#8211; # mkdir /home/ftp/pub &#8211; # chmod 777 [...]]]></description>
			<content:encoded><![CDATA[<p>很早很早之前，在学校时写的，拿过来看看。还是颇有用得啥O(∩_∩)O~</p>
<p>上学期做过vsftpd的实验，是在学校里那台机子上的，由于要学rhce的课程，现在虚拟一台centos5.1的机子，主机建一个ftp用做数据交流 和centos的零时源。 上次的实验报告给删了，这次有意记下了主要的配置过程………… 可能不太详细（毕竟是在以前的基础上回忆做的）<span id="more-282"></span><br />
<br />
<font color="#0000ff">1.保证内核编译正确</font><br />
&#8211; Security options  &#8212;&gt;;<br />
&#8211; &nbsp;&nbsp;&nbsp;    Enable different security models  <br />
&#8211;&nbsp;&nbsp;&nbsp;    &nbsp;&nbsp;&nbsp;    &lt;*&gt;;&nbsp;&nbsp;    Default Linux Capabilities</p>
<p>或者 ~# modprobe capability 也可。。</p>
<p><font color="#0000ff">2.建立虚拟用户使用的 本地账户</font><br />
&#8211; # useradd werewolf -s /sbin/nologin -d /home/ftp/<br />
&#8211; # passwd werewolf </p>
<p><font color="#0000ff">3.更改ftp目录权限</font><br />
&#8211; # chmod 755 /home/ftp/<br />
&#8211; # mkdir  /home/ftp/pub</p>
<p>&#8211; # chmod 777 /home/ftp/pub/<br />
vsftpd不允许在根目录下上传，所以见pub用来上传</p>
<p><font color="#0000ff">4.进入mysql，创建数据库和用户表（使用pam_mysql 0.7RC1）</font><br />
~# mysql -u root -p<br />
&#8211; 创建数据库<br />
create database ftpdb;<br />
&#8211; 进入数据库<br />
use ftpdb;</p>
<p>&#8211; 创建表<br />
create table users(name char(20) not null, passwd char(128) not null);<br />
&#8211; 插入用户<br />
insert into users values(&#8216;kldoo&#8217;, md5(&#8216;***&#8217;)),(&#8216;vampire&#8217;, md5(&#8216;***&#8217;)); </p>
<p>&#8211; 创建受限mysql用户，提供给vsftpd的pam验证模块使用<br />
grant select on ftpdb.users to ftp_user@localhost identified by &quot;***&quot;;<br />
grant select on ftpdb.users to ftp_user@&quot;%&quot; identified by &quot;***&quot;;</p>
<p>&#8211; 特权用户，用于日常维护<br />
grant select,delete,update,insert on ftpdb.users to ftp_root@localhost identified by &quot;***&quot;;</p>
<p>&#8211; 刷新权限<br />
flush privileges;</p>
<p><font color="#0000ff">5.修改/etc/pam.d/ftpdb (pam认证文件)</font><br />
auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    required&nbsp;&nbsp;&nbsp;&nbsp;    /usr/lib/security/pam_mysql.so user=ftp_user passwd=*** host=localhost db=ftpdb table=users usercolumn=name passwdcolumn=passwd crypt=3<br />
account&nbsp;&nbsp;&nbsp;    required&nbsp;&nbsp;&nbsp;&nbsp;    /usr/lib/security/pam_mysql.so user=ftp_user passwd=*** host=localhost db=ftpdb table=users usercolumn=name passwdcolumn=passwd crypt=3</p>
<p>&#8211; /etc/pam.d/ftpdb 文件中字段的意思是:<br />
&#8211; 访问数据库用户名&nbsp;&nbsp;&nbsp;    user<br />
&#8211; 访问数据库用户密码&nbsp;&nbsp;&nbsp;    passwd</p>
<p>&#8211; 数据库主机&nbsp;&nbsp;&nbsp;    host<br />
&#8211; 数据库名&nbsp;&nbsp;&nbsp;    db<br />
&#8211; 表名&nbsp;&nbsp;&nbsp;    &nbsp;&nbsp;&nbsp;    table<br />
&#8211; 用户列名&nbsp;&nbsp;&nbsp;    usercolumn</p>
<p>&#8211; 密码列名&nbsp;&nbsp;&nbsp;    passwdcolumn <br />
&#8211; 密码验证机制&nbsp;&nbsp;&nbsp;    crypt&nbsp;&nbsp;&nbsp;    (0 代表明文,1 代表DES 加密,2 代表Mysql的password()函数加密,3代表md5算法,4代表sha加密)</p>
<p><font color="#0000ff">6.配置单个用户的权限</font><br />
<strong>用户vampire</strong></p>
<p># 用户主目录<br />
anon_root=/home/ftp<br />
# 是否可写<br />
write_enable=YES<br />
# 本地用户上传权限<br />
local_umask=022<br />
# 最大下载速度 10000K<br />
anon_max_rate=10240000<br />
# 允许上传文件</p>
<p>anon_upload_enable=YES<br />
# 下载可以访问的文件<br />
anon_world_readable_only=NO<br />
# 可以建文件夹<br />
anon_mkdir_write_enable=YES</p>
<p>&nbsp;<br />
<strong>用户kldoo</strong><br />
<code></p>
<p># 用户主目录<br />
anon_root=/home/ftp<br />
# 是否可写<br />
write_enable=YES<br />
# 本地用户上传权限<br />
local_umask=022<br />
# 最大下载速度 1000K<br />
anon_max_rate=1024000<br />
# 允许上传文件</p>
<p>anon_upload_enable=YES<br />
# 下载可以访问的文件<br />
anon_world_readable_only=NO<br />
# 可以建文件夹<br />
anon_mkdir_write_enable=YES<br />
# 其他权限(rename,delete...)<br />
anon_other_write_enable=YES</p>
<p><font color="#0000ff">7.我的/etc/vsftpd.conf文件</font><br />
#@file: /etc/vsftpd.conf<br />
#<br />
##############################<br />
###&nbsp;&nbsp;    1.连接设置<br />
##############################<br />
# Use this to use vsftpd in standalone mode, otherwise it runs through (x)inetd</p>
<p>listen=YES<br />
#listen_ipv6=YES<br />
# 监听IP<br />
listen_address=172.16.109.1<br />
#listen_address=192.168.1.121<br />
#listen_address6=<br />
# 最大客户端连接数<br />
max_clients=20<br />
# 每IP最大连接数</p>
<p>max_per_ip=5<br />
# 交互发呆时间(空闲连接超时)<br />
idle_session_timeout=600<br />
# 数据传输超时<br />
data_connection_timeout=120<br />
#<br />
# 1.2 连接模式<br />
# 监听端口<br />
listen_port=2221</p>
<p>#<br />
# PORT模式<br />
# 是否启用port模式<br />
port_enable=YES<br />
# port模式下是否使用默认固定20端口<br />
connect_from_port_20=YES<br />
# 自定义port端口<br />
#ftp_data_port=2220<br />
# 是否使用安全的port模式</p>
<p>#port_promiscuous=NO<br />
# port模式连接超时<br />
connect_timeout=60<br />
#<br />
# Passive连接模式<br />
# 启用pasv模式(vsftpd默认)<br />
pasv_enable=YES<br />
# pasv模式下开启的端口范围<br />
pasv_min_port=2222</p>
<p>pasv_max_port=2227<br />
# 启用安全的pasv模式<br />
pasv_promiscuous=NO<br />
# pasv模式监听的IP地址<br />
#pasv_address=192.168.1.121<br />
# pasv模式连接超时<br />
accept_timeout=60<br />
#<br />
##############################</p>
<p>###&nbsp;&nbsp;    2.用户权限管理<br />
##############################<br />
# 2.1 全局变量<br />
# Uncomment this to enable any form of FTP write command.<br />
write_enable=NO<br />
# 全局可下载<br />
download_enable=YES<br />
# 允许所有用户列出文件列表(全局可浏览)</p>
<p>dirlist_enable=YES<br />
#<br />
# 2.2 匿名用户设置<br />
# 允许匿名用户<br />
anonymous_enable=YES<br />
# 匿名用户无需密码<br />
no_anon_password=YES<br />
# 匿名用户主目录<br />
#anon_root=</p>
<p># 下载速度上限 8000KB: 1024x80=81920字节<br />
anon_max_rate=8192000<br />
# 是否允许匿名用户上传文件<br />
anon_upload_enable=NO<br />
# 是否允许匿名用户建立文件夹<br />
anon_mkdir_write_enable=NO<br />
# 可以下载所有用户都可以访问的文件<br />
# NO则可以下载所有文件<br />
anon_world_readable_only=YES</p>
<p># 其他权限(rename,delete...)<br />
anon_other_write_enable=NO<br />
# 修改上传文件所有者<br />
#chown_uploads=YES<br />
# 上传文件所有者<br />
#chown_username=ftp<br />
# 上传文件权限<br />
anon_umask=022<br />
# 使用邮件列表来控制匿名用户的登录</p>
<p>#deny_email_enable=YES<br />
# (default follows)<br />
#banned_email_file=/etc/vsftpd.banned_emails<br />
#<br />
# 2.2 本地用户设置<br />
# 允许本地用户登录<br />
local_enable=YES<br />
# 本地用户主目录<br />
#local_root=/path</p>
<p># 本地用户上传文件权限<br />
local_umask=022<br />
# 本地用户传输速率<br />
#local_max_rate=<br />
# 是否允许本地用户改变ftp服务器上文件的权限<br />
chmod_enable=NO<br />
# 用户单独配置文件所在目录<br />
user_config_dir=/etc/vsftpd/users<br />
# 是否开启userlist功能模块</p>
<p>userlist_enable=NO<br />
# 是否拒绝userlist中的用户<br />
userlist_deny=NO<br />
# 指定userlist文件路径<br />
userlist_file=/etc/vsftpd/userlist<br />
# 是否启用chroot_list功能<br />
chroot_list_enable=NO<br />
# 是否限制本地用户的根目录为自己的主目录<br />
chroot_local_user=YES</p>
<p># 设置chrootlist的路径<br />
#chroot_list_file=/etc/vsftpd/chrootlist<br />
#<br />
# 2.3 虚拟用户<br />
# 是否允许虚拟用户<br />
guest_enable=YES<br />
# 虚拟用户映射的本地用户<br />
guest_username=werewolf<br />
# 虚拟用户使用本地用户权限</p>
<p>#virtual_use_local_privs=NO<br />
# <br />
##############################<br />
###&nbsp;&nbsp;    3.FTP服务器配置<br />
##############################<br />
# 使用PAM认证 <br />
#pam_service_name=vsftpd.pam<br />
pam_service_name=ftpdb</p>
<p># TCP Wrappers IP 防火墙<br />
#tcp_wrappers=YES<br />
# 登录FTP时的欢迎语句<br />
ftpd_banner=&quot;Welcome to kldoo's FTP Server.&quot;<br />
# 使用欢迎文件<br />
#banner_file=/path/to/filename<br />
# 显示单个文件夹信息(目录下.message文件)<br />
dirmessage_enable=YES</p>
<p># 禁止`ls -R`,提高性能 <br />
#ls_recurse_enable=YES<br />
# 显示本地时间<br />
use_localtime=YES<br />
# It is recommended that you define on your system a unique user which the<br />
# ftp server can use as a totally isolated and unprivileged user.<br />
#nopriv_user=ftpsecure<br />
#<br />
# Enable this and the server will recognise asynchronous ABOR requests. Not</p>
<p># recommended for security (the code is non-trivial). Not enabling it,<br />
# however, may confuse older FTP clients.<br />
#async_abor_enable=YES<br />
#<br />
# Beware that on some FTP servers, ASCII support allows a denial of service<br />
# attack (DoS) via the command &quot;SIZE /big/file&quot; in ASCII mode. vsftpd<br />
# predicted this attack and has always been safe, reporting the size of the</p>
<p># raw file.<br />
# ASCII mangling is a horrible feature of the protocol.<br />
#ascii_upload_enable=YES<br />
#ascii_download_enable=YES<br />
#<br />
###&nbsp;&nbsp;    3.2 日志<br />
# 是否把日志写入系统日志/var/log/message<br />
#syslog_enable=NO</p>
<p>#<br />
# 3.2.2 早期Wu-ftpd的日志格式<br />
# 采用xferlog日志格式<br />
xferlog_enable=NO<br />
# 日志位置<br />
#xferlog_file=/var/log/vsftpd.log<br />
# 采用标准格式记录日志<br />
#xferlog_std_format=YES<br />
#</p>
<p># 3.2.3 Vsftpd日志方式<br />
# 采用vsftpd自己的日志记录方式<br />
dual_log_enable=YES<br />
# 是否记录所有ftp命令<br />
log_ftp_protocol=YES<br />
# 日志位置<br />
vsftpd_log_file=/var/log/vsftpd.log<br />
#<br />
###&nbsp;&nbsp;    3.3 SSL 加密</p>
<p># 启用SSL加密<br />
ssl_enable=NO<br />
# rsa证书的位置<br />
rsa_cert_file=/etc/vsftpd/vsftpd.pem<br />
# dsa证书位置<br />
#dsa_cert_file=/path<br />
#<br />
# 允许匿名用户使用SSL，默认为no <br />
allow_anon_ssl=YES</p>
<p># 匿名用户登录时是否加密，默认为no<br />
force_anon_logins_ssl=YES<br />
# 匿名用户数据传输时是否加密，默认为no<br />
force_anon_data_ssl=YES<br />
#<br />
# 非匿名用户登陆时是否加密，默认为yes<br />
force_local_logins_ssl=YES<br />
# 非匿名用户传输数据时是否加密，默认为yes<br />
force_local_data_ssl=YES</p>
<p>#<br />
# 是否激活sslv2加密，默认no<br />
#ssl_sslv2=YES<br />
# 是否激活sslv3加密，默认no<br />
#ssl_sslv3=YES<br />
# 激活tls v1加密，默认yes<br />
#ssl_tlsv1=YES/NO<br />
#  默认是DES-CBC3-SHA<br />
#ssl_ciphers=</p>
<p>#<br />
# File /etc/vsftpd.conf DONE</p>
<p>The End......&nbsp;&nbsp;    现在启动vsftpd即可<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://mifunny.info/vsftpd-282.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

