Linux 搭建 vsftpd 服务器
(一).yum安装
1.安装服务端
[root@localhost ~]# yum install vsftpd -y
2.创建ftp用户
[root@localhost ~]# useradd -d /opt/ftp/ftp_user_atu -m ftp_user_atu #分配ftp上传目录 [root@localhost ~]# usermod -s /sbin/nologin ftp_user_atu #分配shell为不可登陆/sbin/nologin [root@localhost ~]# passwd ftp_user_atu #设置密码
3. 配置信息
3.1.vi /etc/vsftpd/vsftpd.conf
#匿名登陆 anonymous_enable=NO #本地用户 local_enable=YES #写操作 write_enable=YES local_umask=022 anon_umask=022 dirmessage_enable=YES #日志记录 xferlog_enable=YES #主动端口 connect_from_port_20=YES #日志格式化 xferlog_std_format=YES #欢迎信息 ftpd_banner=Welcome to FTP service. #只能看到当前用户路径 chroot_local_user=YES chroot_list_enable=NO ls_recurse_enable=YES listen=YES pam_service_name=vsftpd #只有user_list的用户可以登陆 userlist_enable=YES userlist_deny=NO tcp_wrappers=YES reverse_lookup_enable=NO #ftp时间 use_localtime=YES
3.2.vi /etc/vsftpd/user_list
ftp_user_atu
4.启动服务
[root@localhost ~]# service vsftpd restart
5.常见问题
5.1.500 OOPS: cannot change directory
500 OOPS: cannot change directory:/opt/disk/33/ftp/ftp_user_ipms
5.1.1.原因1:纯粹是目录权限有问题
chmod -R 755 /opt/disk/33
5.1.2.原因2:SELinux安全问题
查看SELinux的ftpd状态 [root@localhost ~]# sestatus -b| 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 off ftpd_connect_db off ftpd_use_passive_mode off httpd_enable_ftp_server off tftp_anon_write off 将ftp_home_dir设置为on后重启ftp服务恢复正常 [root@localhost ~]# setsebool ftp_home_dir 1 [root@localhost ~]# service vsftpd restart
(二).编译安装
rm -rf /etc/vsftpd/.vsftpd.conf.swpvi /etc/vsftpd/vsftpd.conf
添加 userlist_file=/etc/vsftpd/user_list allow_writeable_chroot=YES 注释 tcp_wrappers
cp -rf /etc/vsftpd /etc/vsftpd.bak rpm -e vsftpd rm -rf /etc/vsftpd mv /etc/vsftpd.bak /etc/vsftpd
cd /opt/disk/backup/soft/vsftpd-3.0.3 make install /usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf &
vi /etc/rc.local /usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf &
ln -s /lib64/libcap.so.2.16 /lib64/libcap.so LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/lib64 cd /opt/disk/backup/soft/vsftpd-3.0.3 make clean make make install cp RedHat/vsftpd.pam /etc/pam.d/vsftpd
/usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf &
cat /etc/vsftpd/vsftpd.conf|grep -v ^#|grep -v ^$|grep -v '^;'