linux命令rpm -qa|grep vsftpdrpm -qa vsftpd 查看是否有这个包
rpm -ql vsftpd 如安装,查看安装的路径
chkconfig --list vsftpd 查看,是否设置了开机启动
如未安装yum -y install vsftpd*
//安装时打印的日志
Updating : openssl-1.0.1e-48.el6_8.3.i686 1/3
Installing : vsftpd-2.2.2-21.el6.i686 2/3
Cleanup : openssl-1.0.0-27.el6.i686 3/3
Verifying : vsftpd-2.2.2-21.el6.i686 1/3
Verifying : openssl-1.0.1e-48.el6_8.3.i686 2/3
Verifying : openssl-1.0.0-27.el6.i686 3/3
Installed:
vsftpd.i686 0:2.2.2-21.el6
Dependency Updated:
openssl.i686 0:1.0.1e-48.el6_8.3
Complete!
=================================
vsftpd.conf
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES
local_root=/home/appdev/deployment/tomcattest/webapps/optimusFileService/wk
listen_port=48796
vsftpd_log_file=/var/log/vsftpd.log
pasv_enable=YES
========================
实践中遇到的问题:
1.连接时报错:500 OOPS: cannot change directory:/
# /usr/sbin/setsebool -P ftp_home_dir 1
#/usr/sbin/setsebool -P allow_ftpd_full_access 1 注意:如果为off 将有可能无法上传文件(写权限)
# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
2.文件无法上传 ,在1的基础上,通过修改文件夹用户权限来控制用户是否有读写和执行权限
chmod 007 -R /home/wk3/ftp
3.切换到上级目录的问题
1)、
chroot_list_enable=NO
chroot_local_user=YES--->这样写 所有用户均不能切换到上级目录
2)、
chroot_list_enable=NO
chroot_local_user=NO --> 这样写所有用户都可以切换到上级目录
4.虚拟用户
useradd -d /data/vsftpd -s /sbin/nologin vsftpd
5.不同的虚拟用户采用不同的路径,需要将local_root=注释掉