由于工作需要,需要在服务器上搭建ftp,方便文静传输, 选用vsftpd搭建ftp服务器 测试环境: 1.fedora 17 x64 2.vsftpd3.3
搭建步骤:
1.安装vsftpd
a.查看vsftpd是否已经安装,切换到root用户环境变量(su - root)
[root@localhost ~]# rpm -qa|grep ftp
lftp-4.3.8-1.fc17.x86_64
ncftp-3.2.5-3.fc17.x86_64
vsftpd-3.0.0-2.fc17.x86_64
gvfs-obexftp-1.12.3-1.fc17.x86_64
ftp-0.17-55.fc17.x86_64
[root@localhost ~]#
显示已经安装(系统自带),如果没有出现上述结果,则需要手动安转。
安转命令:
yum -y install ftp*
b.测试是否成功安装
service vsftpd start #启动服务(需添加vsftpd到service列表中,否则使用vsftp-path/vsftpd start)
如果提示启动错误,根据错误内容google.
ps -ef|grep ftp #查看进程
存在进程则说明启动成功。
2.添加虚拟用户
a.安装vsftpd支持虚拟用户所需要的软件支持()。
查看db4是否安装
rpm -qa|grep db4
如果没有,安装db4
yum -y install db4*
b.创建需用用户文件
vim /etc/vsftpd/login_users.txt
添加用户,偶行用户名:ftpuser_test,奇行用户名对应密码:123456
c.生成需用用户登陆验证文件
db_load -T -t hash -f /etc/vsftpd/login_users.txt /etc/vsftpd/login_users.db
执行完成后会有个新文件生成:login_users.db
d.编辑验证文件/etc/pam.d/vsftpd
把文件中所有内容注释
32位系统添加(uname -m 查看位数)
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login_users
account required /lib/security/pam_userdb.so db=/etc/vsftpd/login_users
64位系统添加
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
e.编辑用户列表文件
vim /etc/vsftpd/chroot_list
添加 ftpuser_test
f.编辑/etc/vsftpd/vsftpd.conf(修改之前请备份)
chroot_list_enable=YES #启用
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES
guest_enable=YES #虚拟用户
guest_username=ftp
user_config_dir=/etc/vsftpd/login_conf #用户文件配置路径
allow_writeable_chroot=YES #启用写功能
userlist_file=/etc/vsftpd/user_list #user_list文件路径
h.创建用户配置文件
vim /etc/vsftpd/login_conf
添加:
local_root=/data/ftp #用户目录
write_enable=YES
download_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
3.测试
a.上述配置完成后重启服务
service vsftpd restart
b.测试登陆
[root@localhost ~]# ftp localhost
Trying ::1...
Connected to localhost (::1).
220 (vsFTPd 3.0.0)
Name (localhost:wind): ftpuser_test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
以上是vsftp添加虚拟用户个过程,写此文以备忘。
参考1:http://javacxn.blog.163.com/blog/static/183277642012724113149704/
参考2:http://man.ddvip.com/linux/debian/vsftpd/vsftpd.conf-7.html