Bootstrap

linux上安装ftp并使用

 

1.创建ftp用户

创建ftpuser用户

    useradd ftpuser

 查看用户

    # 创建的使用用户都在home目录下

    cd home/

设置用户密码 

    passwd ftpuser

 

 

 2.vsftp服务安装

    yum -y install vsftpd

 

 

3.开启安全策略

查看命令

    getsebool -a | grep ftp

如果报getsebool:  SELinux is disabled

 解决报错: 修改配置文件

  
    # 将 SELINUX 的值修改为 permissive    

    vi /etc/selinux/config

重启实例

    # 依次执行以下命令, 重启

    touch /.autorelabel

    shutdown -r now

 成功解决

执行命令放开权限 

    # 所有操作都放行
    setsebool -P ftpd_connect_all_unreserved on

    # 全局的访问控制
    setsebool -P ftpd_full_access on

    # 最基本的home
    setsebool -P tftp_home_dir on

 开启成功

    getsebool -a | grep ftp

 

 

 3.编辑文件

    vi /etc/vsftpd/vsftpd.conf

    listen_port=21

 

 

 4.启动vsftp服务

启动ftp服务命令

    systemctl start vsftpd

 查看ftp启动状态

    systemctl status vsftpd

 

 

 5.java测试连接ftp服务

引入依赖

<!-- FTPClient -->
<dependency>
	<groupId>commons-net</groupId>
	<artifactId>commons-net</artifactId>
	<version>3.6</version>
</dependency>

测试

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.net.ftp.FTPClient;

@Slf4j
public class FtpUtil {

    // ftp服务器地址
    private static final String host = "8.134.xxx.xxx";
    // ftp端口
    private static final int port = 21;
    // ftp用户名
    private static final String username = "ftpuser";
    // ftp密码
    private static final String password = "PanGuanQing";

    public static void main(String[] args) throws Exception {
        // 1、创建FTPClient对象
        FTPClient ftpClient = new FTPClient();
        // 保存FTP控制连接使用的字符集,必须在连接前设置
        ftpClient.setControlEncoding("UTF-8");
        // 2、指定服务器地址(端口)
        ftpClient.connect(host, port);
        // 3、指定用户名和密码
        ftpClient.login(username, password);
        // 连接成功或者失败返回的状态码
        int reply = ftpClient.getReplyCode();
        // 如果reply返回230表示成功,如果返回530表示无密码或用户名错误或密码错误或用户权限问题。
        System.out.println(reply);
    }
}

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;