1.yum安装
yum install vsftpd
CentOS 6.5默认不安装ftp命令行程序,所以:
yum install ftp
2.启动服务
service vsftpd start
到这里就可以用了
3.测试
ftp [域名|IP地址]
默认是可以匿名登陆的,用账号:ftp登录,无需密码。
连上之后,看到的目录是本机的 /var/ftp/pub/
可以自行进行操作。
4.高级版
4.1 初窥门径
要想具有更高的可用性,当然还要进行更多的操作。
cd /etc/vsftpd/
ls
ftpusers用于保存不允许登录ftp的本地帐号,可以禁止高权限的本地用户登录,提高系统安全性
user_list文件具有对vsftpd服务器更灵活的用户访问控制
将本地用户禁锢在宿主目录中:
在配置文件中取消chroot_local_user=YES的注释
4.2 FTP本地用户存在安全隐患
使用虚拟账号代替本地帐号增强系统安全性
虚拟用户账号设置步骤:
1.建立虚拟用户口令库文件:
其中奇数行设置账号,偶数行设置密码口令
当前目录是vsftpd
vim users
存盘退出!
2.生成vsftpd的认证文件
db_load -T -t hash -f users login.db
3.设置认证文件只对用户可读可写
chmod 600 login.db
4.建立虚拟用户所需的PAM配置文件
cd /etc/pam.d/
vim vsftpd.vu
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
存盘退出
5.建立虚拟用户及要访问的目录并设置相应的权限
useradd vir
chmod 700 /home/vir
6.修改配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
#是否允许匿名登录
local_enable=YES
#//是否允许本地用户登录
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
guest_enable=YES
guest_username=vir
pam_service_name=vsftpd.vu
#//认证配置文件
user_config_dir=/etc/vsftpd/vuser
#//用户配置文件
tcp_wrappers=YES
存盘退出
6.创建配置文件中指定的用户配置文件
在 vsftpd目录下
mkdir vuser
cd vuser
touch ftpu
touch vip
这里创建了两个用户文件
接下来进行权限设定:
vim ftpu
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=20000
#限制速率
vip一样的配置,只是可以设置限制最大速率,这样就可以区别对待。
7.在/home/vir 目录下创建几个文件进行测试
8.重启服务
setenforce 0
ftp 192.168.1.48
这里是自己的IP,
输入账号密码之后查看,果然,可以看到自己刚在创建的文件
在这里创建一个文件夹试试,
输入bye,退出,然后去本机目录看看,是不是创建了。
至此,测试完毕!
5.可能出现的问题
5.1 用服务器外网IP 连接ftp时:
425 Security: Bad IP connecting.
解决办法:
vim /etc/vsftpd/vsftpd.conf
添加 pasv_promiscuous=YES
:x
service vsftpd restart