Centos 7 FTP(vsftp)服务安装及配置

卸载重新安装参考:https://blog.csdn.net/zhaokejin521/article/details/78428605

vsftp 安装

  1. 检查是否安装vsftpd     [root@localhost /]# rpm -q vsftpd
  2. 如果没有安装执行命令    [root@localhost /]# yum install vsftpd
  3. 开启服务               [root@localhost /]# systemctl start vsftpd.service
  4. 查看服务状态                [root@localhost /]# systemctl status vsftpd.service
  5. 停止服务                       [root@localhost /]# systemctl stop vsftpd.service
  6. 重启服务                       [root@localhost /]# systemctl restart vsftpd.service
  7. 设置服务开机自启         [root@localhost /]# systemctl enable vsftpd.service

配置vsftpd.conf

    1,vi  /etc/vsftpd/vsftpd.conf

    点击i进入编辑,编辑后点esc退出,点:wq保存 (编辑下面四个,将第一个yes改为no,将后面三个的#去掉)

    anonymous_enable=NO  # 禁用匿名登录

    ascii_upload_enable=YES

   ascii_download_enable=YES

   chroot_local_user=YES  # 启用限定用户在其主目录下

2,#之后添加下列内容到vsftpd.conf末尾

use_localtime=YES

listen_port=21

chroot_local_user=YES

idle_session_timeout=300

guest_enable=YES

guest_username=vsftpd

user_config_dir=/etc/vsftpd/vconf

data_connection_timeout=1

virtual_use_local_privs=YES

pasv_min_port=10060

pasv_max_port=10090

accept_timeout=5

connect_timeout=1


添加一个vsftpd用户

[root@bogon ~]# useradd ftpuser

修改密码

[root@bogon ~]# passwd ftpuser

输入两次密码后修改密码


参考:

https://blog.csdn.net/qq_26941173/article/details/54575952

https://www.cnblogs.com/jamescr7/p/8268455.html



测试ftp结果出现上传文件为0字节的情况,在代码中设置被动模式

public class FtpTest {

@Test
public void testFtpUpload() throws SocketException, IOException{
//创建一个ftpClient对象
FTPClient client = new FTPClient();
//创建ftp链接,如果不写默认端口号是21
client.connect("192.168.13", 21);
//登录ftp,使用用户名和密码
client.login("root", "admin");
//上传文件
FileInputStream is= new FileInputStream(new File("E:\\55\\AC4A9212.JPG"));
client.changeWorkingDirectory("/root/FTPpicture");//设置上传路径
client.setFileType(FTP.BINARY_FILE_TYPE);//设置ftp上传图片的格式为二进制,否则图片上传不完整
client.enterLocalPassiveMode();//进入被动模式,这一条如果不设置,会出现传输结果为0字节的情况
  //而客户端不会出现这个情况,因为FZ客户端默认的就是被动模式:编辑--设置--连接--FTP--主被动设置
client.storeFile("pic05.jpg", is);//第一个参数:服务器端储存的文档名字,第二个参数:上传的io流
//is.close();
//退出客户端
client.logout();
}

}



你可能感兴趣的:(虚拟机)