现在的位置: 首页 > 综合 > 正文

源码搭建vsftp服务器

2012年06月06日 综合 ⁄ 共 3368字 ⁄ 字号 暂无评论

一、编译安装vsftp
[root@YYzs tmp]# tar -xvf vsftpd-2.2.0.tar.gz
[root@YYzs tmp]# cd vsftpd-2.2.0
[root@YYzs vsftpd-2.2.0]# make
//vsftp默认配置中需要“nobody”用户,在系统中添加此用户
[root@YYzs vsftpd-2.2.0]# useradd nobody
//VSFTPD默认配置中需要“/usr/share/empty”目录
[root@YYzs vsftpd-2.2.0]# mkdir /usr/share/empty/
[root@YYzs vsftpd-2.2.0]# mkdir /var/ftp/
[root@YYzs vsftpd-2.2.0]# useradd -d /var/ftp/ ftp
//接下来的操作对于ftp用户是否已经存在都是有用的
[root@YYzs vsftpd-2.2.0]# chown root.root /var/ftp/
[root@YYzs vsftpd-2.2.0]# chmod og-w /var/ftp/
//安装并拷贝配置文件
[root@YYzs vsftpd-2.2.0]# make install
[root@YYzs vsftpd-2.2.0]# ls /etc/ |grep vsftpd.conf
[root@YYzs vsftpd-2.2.0]# cp vsftpd.conf /etc/
// 采用standalone模式运行 编辑/etc/vsftpd.conf,在最下面加入以下这一行:listen=YES
[root@YYzs vsftpd-2.2.0]# vi /etc/vsftpd.conf
//为测试方便,在/var/ftp/下创建文件夹pub
[root@YYzs vsftpd-2.2.0]# mkdir /var/ftp/test

二、启动vsftp服务并测试
//在后台运行vsftpd
//若是不知道命令vsftpd的路径可执行命令:which vsftpd查看。
[root@YYzs vsftpd-2.2.0]# /usr/local/sbin/vsftpd &
[1] 3594
//测试ftp服务
[root@YYzs vsftpd-2.2.0]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.6)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
//登录时用户名为ftp;密码为空。
Name (localhost:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
//使用ls查看命令可以看到pub的详细信息。
ftp> ls
227 Entering Passive Mode (127,0,0,1,250,71)
150 Here comes the directory listing.
drwxrwxrwx 2 0 0 4096 Sep 26 00:05 test
226 Directory send OK.
// 执行quit命令退出。
ftp> quit

三、配置vsftp匿名服务器
默认搭建好的服务器就是一个匿名登录的服务器,可下载但无法上传文件、创建修改文件夹。我通过修改anon_upload_enable、anon_mkdir_write_enable参数使匿名用户也具有相应的权限。建议还是不要修改这个参数。在XP客户机命令窗输入ftp 192.168.1.107要求输入用户名及密码。用anonymous或者ftp账号进行显示登录成功。

1.登录和对匿名用户的设置
write_enable=YES //是否对登录用户开启写权限。属全局性置。
NOlocal_enable=YES //是否允许本地用户登录FTP服务器。NOanonymous_enable=YES //设置是否允许匿名用户登录FTP服务器。YESftp_username=ftp //定义匿名用户的账户名称,默认值为ftp。no_anon_password=YES //匿名用户登录时是否询问口令。设置为YES,则不询问。
NOanon_world_readable_only=YES //匿名用户是否允许下载可阅读的文档,默认为YES。
anon_upload_enable=YES //是否允许匿名用户上传文件
anon_other_write_enable=NO //设置为YES,则匿名用户会被允许拥有多于上传和建立目录的权限 //,还会拥有删除和更名权限。默认值为NO。

2.设置欢迎信息用户登录FTP服务器成功后,服务器可向登录用户输出预设置的欢迎信息。
ftpd_banner=Welcome to YYzs's FTP server. //该配置项用于设置比较简短的欢迎信息。
banner_file=/etc/vsftpd/banner //设置用户登录时,将要显示输出的文件。dirmessage_enable=YES //设置是否显示目录消息。。
message_file=.message //设置目录消息文件。可将显示信息存入该文件。

3.设置用户登录后所在的目录
local_root=/var/ftp // 设置本地用户登录后所在的目录。anon_root=/var/ftp //设置匿名用户登录后所在的目录。默认为/var/ftp目录。

4.设置访问速度
anon_max_rate=0 //设置匿名用户所能使用的最大传输速度,单位为b/s。若设 //置为0,则不受速度限制,此为默认值。
local_max_rate=0 // 设置本地用户所能使用的最大传输速度。默认为0,不受限制。

5.与连接相关的设置
listen=YES //设置vsftpd服务器是否以standalone模式运行。
max_clients=0 //设置vsftpd允许的最大连接数,默认为0,表示不受限制。若设置为150时,则同时 //允许有150个连接,超出拒绝建立连接。只有在以standalone模式运行时才有效。
max_per_ip=0 // 设置每个IP地址允许与FTP服务器同时建立连接的数目。默认为0,不受限制。通常可 //对此配置进行设置,防止同一个用户建立太多的连接。只有在以standalone模式运行时才有效。

6.设置传输模式
ascii_download_enable=YES //设置是否启用ASCII模式下载数据。默认为NO。ascii_upload_enable=YES //设置是否启用ASCII模式上传数据。默认为NO。

ascii_upload_enable=YES //设置是否启用ASCII模式上传数据。默认为NO。

7.设置上传文档的所属关系和权限
(1)设置匿名上传文档的属主
chown_uploads=YES //用于设置是否改变匿名用户上传的文档的属主。默认为NO。若设置为//YES,则匿名用户上传的文档的属主将被设置为chown_username配置项所设置的用户名。
chown_username=whoever //设置匿名用户上传的文档的属主名。只有chown_uploads=YES时才有效。//建议不要设置为root用户。 但系统默root
(2)新增文档的权限设定
local_umask=022 //设置本地用户新增文档的umask,默认为022,对应的权限755。
anon_umask=022 //设置匿名用户新增文档的umask。默认077
file_open_mode=0755 //设置上传文档的权限。权限采用数字格式。 默认0666

8.日志文件
xferlog_enable=YES //是否启用上传/下载日志记录。默认NO
xferlog_file=var/log/vsftpd.log //设置日志文件名及路径。需启用xferlog_enable选项xferlog_std_format=YES //日志文件是否使用标准的xferlog日志文件格式 。默认为NO

【上篇】
【下篇】

给我留言

留言无头像?