关于ftp服务器使用tcp链接和tcp端口,在通信时,ftp需要建立两个tcp链接,哟个用于控制信息,tcp端口号缺省为21,一个拥有数据传输,tcp端口号缺省为20,当然vsftp是 基于 GPL发布的类型unix系统上的ftp服务器
1
确认
本机系统上是否安装
db4-utils
,
vsftpd
等软件包,如果没有安装请安装这两个软件
2
启动
vsftpd
服务
# service vsftpd start
#chkconfig vsftpd on
3
建立虚拟
ftp
用户的账号数据文件,在建立虚拟用户的帐号,及密码是应注意
奇数行为用户名,偶数行为密码,当然每一行只能有一个用户
或密码;
可以把存放用户帐号及密码的文件,放在任何的目录下面,这里放在
/etc/vsftpd
#cd /etc/vsftpd
#vim vusers.txt
wendy
123
natasha
456
4
把保存后的虚拟账户的文件,转化为数据文件
# Db_load –T –t hash –f vusers.txt vusers.db
#file vusers.db
vusers.db: Berkeley DB (Hash, version 8, native byte-order)
5
修改虚拟账号的文件权限
# chmod 600 vusers.txt vusers.db
6
创建
ftp
根目录及虚拟用户映射的系统用户
# mkdir /var/ftproot
#useradd –d /var/ftproot –s /sbin/nologin vsftp
# chmod 755 /var/ftproot
#chown vsftp:vsftp /var/ftproot/
7
建立
pam
认证
#cd /etc/pam.d
#vim vsftpd.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
auth required pam_userdb.so db=/etc/vsftpd/vusers
8
在
vsftpd.conf
文件中添加支持配置
#cd /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
anon_umask=022
guest_enable=YES
guest_username=vsftp
pam_service_name=vsftpd.vu
9
为个别虚拟用户建立独立的配置文件
在
vsftp.conf
文件中添加用户配置目录支持
user_config_dir=/etc/vsftpd/vusers
为没给用户建立独立的配置目录及文件
# mkdir /etc/vsftpd/vusers
# cd /etc/vsftpd/vusers
#vim wendy
anon_upload_enable=NO
anon_mkdir_write_enable=NO
#vim natasha
anon_upload_enable=YES
anon_mkdir_write_enable=YES
10
重新读取
vsftpd
的配置文件或者重新启动
vsftpd
服务
# service vsftd reload
或者
# service vsftpd restart
11
用虚拟用户访问
ftp
服务器
# ftp IP
当然有可能报错,例如:
#ftp 192.168.222.3
Connected to 192.168.222.3.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.222.3:root): natasha
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
出现该错误的原因是:
iptables
在开启,
selinux
在开启
首先把
iptables
的表清空或者停用
iptables
# service iptables stop
12 selinux
开启是,虽说不能访问
ftp
的服务器
但是可以把
selinux
关闭,这一种方法,
另一种方法是,修改标签
# chcon –R –t public_content_t ftproot
13
修改布尔值
# allow_ftpd_anon_write --> on
# ftp_home_dir --> on
而在默认的情况下该两项的布尔值都是
off
的,
ftp_home_dir
不改成
on
是
selinux
对其有限制,而致使虚拟用户不能访问
ftp
服务器
在此用虚拟用户访问ftp服务并验证其各自的权限
本文转自 freehat08 51CTO博客,原文链接:http://blog.51cto.com/freehat/303564,如需转载请自行联系原作者