Linux配置VSFTP服务器的方法
<p><span><strong>一、Linux FTP服务器分类:</strong></span></p>
<p>
<1>wu-ftp<br>
<2>proftp=profession ftp<br>
<3>vsftp=very security ftp</p>
<p>
配置文件:<br>
/etc/vsftpd/vsftpd.conf //主配置文件<br>
/etc/vsftpd.ftpusers //被禁止登录FTP的用户文件<br>
/etc/vsftpd.user_list //允许登录FTP的用户文件</p>
<p>
<span><strong>二、访问方式</strong></span></p>
<p>
<1>匿名登录<br>
<2>帐号登录<br>
启动FTP服务器:<br>
#service vsftpd restart</p>
<p>
<span><strong>三、配置vsftp服务器</strong></span></p>
<p>
<span><strong>1.vsftpd.conf各项参数说明:</strong></span></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_274345">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">#vi /etc/vsftpd/vsftpd.conf</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain"><</code><code class="xhtml keyword">1</code><code class="xhtml plain">>anonymous_enable=YES:控制匿名登录</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml plain"><</code><code class="xhtml keyword">2</code><code class="xhtml plain">>local_enable=YES:允许本地帐号登录</code>
</div>
<div class="line number4 index3 alt1">
<code class="xhtml plain"><</code><code class="xhtml keyword">3</code><code class="xhtml plain">>write_enable=YES:控制可写权限</code>
</div>
<div class="line number5 index4 alt2">
<code class="xhtml plain"><</code><code class="xhtml keyword">4</code><code class="xhtml plain">>local_umask=022:控制本地文件的权限掩码</code>
</div>
<div class="line number6 index5 alt1">
<code class="xhtml plain"><</code><code class="xhtml keyword">5</code><code class="xhtml plain">>anon_upload_enable=YES:控制是否允许匿名上传(与anon_mkdir_write_enable=YES同时开启或关闭)</code>
</div>
<div class="line number7 index6 alt2">
<code class="xhtml plain"><</code><code class="xhtml keyword">6</code><code class="xhtml plain">>anon_mkdir_write_enable=YES:控制是否允许匿名写及创建目录的权限</code>
</div>
<div class="line number8 index7 alt1">
<code class="xhtml plain"><</code><code class="xhtml keyword">7</code><code class="xhtml plain">>xferlog_enable=YES:控制上传或下载的日志记录</code>
</div>
<div class="line number9 index8 alt2">
<code class="xhtml plain"><</code><code class="xhtml keyword">8</code><code class="xhtml plain">>connect_from_port_20=YES:控制连接端口</code>
</div>
<div class="line number10 index9 alt1">
<code class="xhtml plain"><</code><code class="xhtml keyword">9</code><code class="xhtml plain">>chown_uploads=YES:是否允许上传的文件拥有者(与chown_username=whoever同时开启或关闭)</code>
</div>
<div class="line number11 index10 alt2">
<code class="xhtml plain"><</code><code class="xhtml keyword">10</code><code class="xhtml plain">>chown_username=whoever:允许上传的文件拥有者为whoever</code>
</div>
<div class="line number12 index11 alt1">
<code class="xhtml plain"><</code><code class="xhtml keyword">11</code><code class="xhtml plain">>xferlog_file=/var/log/xferlog:日志记录位置</code>
</div>
<div class="line number13 index12 alt2">
<code class="xhtml plain"><</code><code class="xhtml keyword">12</code><code class="xhtml plain">>xferlog_std_format=YES:标准格式登录上传和下载记录</code>
</div>
<div class="line number14 index13 alt1">
<code class="xhtml plain"><</code><code class="xhtml keyword">13</code><code class="xhtml plain">>data_connection_timeout=120:传输时间</code>
</div>
<div class="line number15 index14 alt2">
<code class="xhtml plain"><</code><code class="xhtml keyword">14</code><code class="xhtml plain">>nopriv_user=ftpsecure:使用特殊用户ftpsecure</code>
</div>
<div class="line number16 index15 alt1">
<code class="xhtml plain"><</code><code class="xhtml keyword">15</code><code class="xhtml plain">>ftpd_banner=Welcome to blah FTP service:登录欢迎信息</code>
</div>
<div class="line number17 index16 alt2">
<code class="xhtml plain"><</code><code class="xhtml keyword">16</code><code class="xhtml plain">>deny_email_enable=YES:拒绝邮件地址</code>
</div>
<div class="line number18 index17 alt1">
<code class="xhtml plain"><</code><code class="xhtml keyword">17</code><code class="xhtml plain">>banned_email_file=/etc/vsftpd/banned_emails:拒绝邮件地址名单</code>
</div>
<div class="line number19 index18 alt2">
<code class="xhtml plain"><</code><code class="xhtml keyword">18</code><code class="xhtml plain">>chroot_list_enable=YES:(与chroot_list_file=/etc/vsftpd/chroot_list同时开启或关闭)</code>
</div>
<div class="line number20 index19 alt1">
<code class="xhtml plain"><</code><code class="xhtml keyword">19</code><code class="xhtml plain">>chroot_list_file=/etc/vsftpd/chroot_list:只能访问本目录,不能访问上级目录</code>
</div>
<div class="line number21 index20 alt2">
<code class="xhtml plain"><</code><code class="xhtml keyword">20</code><code class="xhtml plain">>userlist_enable=YES:启用/etc/vsftpd.user_list文件</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>2.配置匿名登录</strong></span></p>
<p>
#vi /etc/vsftpd/vsftpd.conf<br>
anonymous_enable=YES(默认值)<br>
启动vsftpd服务器:<br>
#service vsftpd restart<br>
#service iptables stop<br>
匿名登录的默认目录:<br>
/var/ftp/pub<br>
打开匿名上传和写权限:<br>
#vi /etc/vsftpd/vsftp.conf<br>
anon_upload_enable=YES<br>
anon_mkdir_write_enable=YES<br>
ascii_upload_enable=YES<br>
ascii_download_enable=YES<br>
chroot_local_user=YES<br>
chroot_list_file=/etc/vsftpd/chroot_list<br>
打开默认共享目录的权限<br>
#chmod 777 /var/ftp/pub<br>
备注:匿名可以上传下载,但不能删除;</p>
<p>
<span><strong>3.本地帐号登录</strong></span></p>
<p>
<strong><1>禁用匿名登入</strong></p>
<p>
修改配置文件<br>
#vi /etc/vsftpd/vsftpd.conf<br>
anonymous_enable=NO<br>
anon_upload_enable=NO<br>
anon_mkdir_write_enable=NO</p>
<p>
<strong><2>开放那些用户可以登入和那些用户拒绝登入</strong></p>
<p>
#vi /etc/vsftpd/vsftpd.conf<br>
userlist_deny=NO(新添加)<br>
(备注:设置/etc/vsftpd.user_list文件中的用户可登录FTP)如果是#userlist_deny=NO 注释掉,则默认全部用户可以登入FTP,当要限某用户不能登入:把用户名加入这个文件当中/etc/vsftpd.ftpusers,则这个用户名拒绝登入FTP。<br>
创建用户并加入到相应的控制文件中<br>
#useradd us1<br>
#useradd us2<br>
#passwd us1<br>
#passwd us2<br>
允许登录到FTP的用户:<br>
#echo us1>>/etc/vsftpd.user_list<br>
#echo us2>>/etc/vsftpd.user_list<br>
启动FTP服务器:<br>
#service vsftpd restart<br>
备注:帐号登录FTP,默认是登录在家目录下;<br>
禁止登录到FTP的用户:#echo us3>>/etc/vsftpd.ftpusers</p>
<p>
<strong><3>将登录后的用户限制在本地家目录下:</strong></p>
<p>
#vi /etc/vsftpd/vsftpd.conf<br>
chroot_list_enable=YES<br>
chroot_list_file=/etc/vsftpd.chroot_list<br>
新建受限用户的列表文件并加入受限用户名<br>
#vi /etc/vsftpd.chroot_list<br>
us2<br>
保存退出<br>
#service vsftpd restart</p>
<p>
<strong><4>限制匿名上传的速度:</strong></p>
<p>
#vi /etc/vsftpd/vsftpd.conf<br>
anon_max_rate=5000 //默认以字节为单位 5000表示5K速度</p>
<p>
<strong><5> 限制本地帐号的上传速度:</strong></p>
<p>
local_max_rate=5000 //以(字节/秒)为单位</p>
<p>
<strong><6> 针对不同的使用者限制不同的速度(这个速度优先限制所有用户的速度):</strong></p>
<p>
#vi /etc/vsftpd/vsftpd.conf <br>
增加下面一行<br>
user_config_dir=/etc/vsftpd/userconf<br>
#mkdir /etc/vsftpd/userconf 创建一个目录<br>
#vi /etc/vsftpd/userconf/user1 (user1是要限制速度的用户名)<br>
local_max_rate=25000</p>
<p>
<strong><7>定制欢迎信息:</strong></p>
<p>
#vi /etc/vsftpd/vsftpd.conf<br>
ftpd_banner=Welcome to Huayu FTP service.</p>
<p>
<strong><8>限制服务器连接数和同IP连接数</strong></p>
<p>
<strong>1、max_clients</strong></p>
<p>
可使用这个参数定义最大的总联机数。超过这个数目将会拒绝联机,0 表示不限。默认值为0。<br>
<strong>2、max_per_ip</strong></p>
<p>
使用这个参数定义每个ip address 所可以联机的数目。超过这个数目将会拒绝联机,0 表示不限。默认值为0。</p>
<p>
<strong><9>虚拟FTP用户设置</strong></p>
<p>
<span><strong>1、建立虚拟用户口令库文件</strong></span></p>
<p>
#vi /etc/vsftpd/logins.txt<br>
vuser1 123<br>
vuser2 321<br>
口令库文件中奇数行设置用户名,偶数行设置口令</p>
<p>
<span><strong>2、生成vsftpd的认证文件</strong></span></p>
<p>
#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db ##生成认证文件</p>
<p>
<span><strong>3、设置认证文件只对root用户可读可写</strong></span></p>
<p>
# chmod 600 /etc/vsftpd/vsftpd_login.db</p>
<p>
<span><strong>4、建立虚拟用户所需的PAM配置文件,手工建立vsftpd.vu文件</strong></span></p>
<p>
# cat /etc/pam.d/vsftpd.vu<br>
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login<br>
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login</p>
<p>
<span><strong>5、建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限</strong></span></p>
<p>
# useradd -d /home -s /sbin/nologin /ftpsite virtual<br>
# chmod 700 /home/ftpsite</p>
<p>
<span><strong>6、设置vsftpd.conf配置文件</strong></span></p>
<p>
#vi /etc/vsftpd/vsftpd.conf<br>
在配置文件中添加虚拟用户的配置内容<br>
guest_enable=YES<br>
guest_username=virtual<br>
pam_service_name=vsftpd.vu(要和刚才建的PAM文件对应)<br>
user_config_dir=/etc/vsftpd/user_config_dir (指定每个虚拟用户账号配置目录,)<br>
local_root=/www (这行没有,虚拟用户登入到/ftpsite)</p>
<p>
<span><strong>7、配置虚拟用户名的设置</strong></span></p>
<p>
#mkdir -p /etc/vsftpd/user_config_dir (主配置文件对应)<br>
#mkdir -p /www/vuser1 (创建虚拟用主目录)<br>
#chmod -R 777 /www/vuser1 (设定权限)<br>
#touch /etc/vsftpd/user_config_dir/vuser1 (为vuser1权限配置文件)<br>
#echo "anon_world_readable_only=NO<br>
write_enable=YES<br>
anon_upload_enable=YES<br>
anon_other_write_enable=YES<br>
local_root=/www/feixiang<br>
anon_mkdir_write_enable=YES" >/etc/vsftpd/user_config_dir/vuser1</p>
<p>
<span><strong>8、重新启动vsftpd服务程序</strong></span></p>
<p>
# service vsftpd restart<br>
现在就应该可以用虚拟帐号登陆了.</p>
<p>
<strong><9>虚拟FTP用户设置</strong></p>
<p>
<span><strong>1、建立虚拟用户口令库文件</strong></span></p>
<p>
#vi /etc/vsftpd/logins.txt<br>
vuser1 123<br>
vuser2 321<br>
口令库文件中奇数行设置用户名,偶数行设置口令</p>
<p>
<span><strong>2、生成vsftpd的认证文件</strong></span></p>
<p>
#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db ##生成认证文件</p>
<p>
<span><strong>3、设置认证文件只对root用户可读可写</strong></span></p>
<p>
# chmod 600 /etc/vsftpd/vsftpd_login.db</p>
<p>
<span><strong>4、建立虚拟用户所需的PAM配置文件,手工建立vsftpd.vu文件</strong></span></p>
<p>
# cat /etc/pam.d/vsftpd.vu<br>
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login<br>
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login</p>
<p>
<span><strong>5、建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限</strong></span></p>
<p>
# useradd -d /home -s /sbin/nologin /ftpsite virtual<br>
# chmod 700 /home/ftpsite</p>
<p>
<span><strong>6、设置vsftpd.conf配置文件</strong></span></p>
<p>
#vi /etc/vsftpd/vsftpd.conf<br>
在配置文件中添加虚拟用户的配置内容<br>
guest_enable=YES<br>
guest_username=virtual<br>
pam_service_name=vsftpd.vu(要和刚才建的PAM文件对应)<br>
user_config_dir=/etc/vsftpd/user_config_dir (指定每个虚拟用户账号配置目录,)<br>
local_root=/www (这行没有,虚拟用户登入到/ftpsite)</p>
<p>
<span><strong>7、配置虚拟用户名的设置</strong></span></p>
<p>
#mkdir -p /etc/vsftpd/user_config_dir (主配置文件对应)<br>
#mkdir -p /www/vuser1 (创建虚拟用主目录)<br>
#chmod -R 777 /www/vuser1 (设定权限)<br>
#touch /etc/vsftpd/user_config_dir/vuser1 (为vuser1权限配置文件)<br>
#echo "anon_world_readable_only=NO<br>
write_enable=YES<br>
anon_upload_enable=YES<br>
anon_other_write_enable=YES<br>
local_root=/www/feixiang<br>
anon_mkdir_write_enable=YES" >/etc/vsftpd/user_config_dir/vuser1</p>
<p>
<span><strong>8、重新启动vsftpd服务程序</strong></span></p>
<p>
# service vsftpd restart<br>
现在就应该可以用虚拟帐号登陆了.</p>
<p>
以上就是小编为大家带来的Linux配置VSFTP服务器的方法全部内容了,希望大家多多支持~</p>
頁:
[1]