zoukankan      html  css  js  c++  java
  • linux 搭建FTP服务器

    一:安装FTP

    yum install vsftpd -y

    输入vsftpd -v判断是否安装成功

    image.png

    启动/停止/重启FTP

    systemctl start vsftpd.service(service vsftpd start)  #启动
    systemctl stop vsftpd.service(service vsftpd stop)    #停止
    systemctl restart vsftpd.service(service vsftpd restart)#重启

    二:添加ftp用户

    1:创建ftp用户并设置密码

    useradd vsftpd    #创建ftp用户
    passwd vsftpd     #设置密码

    2:配置该用户仅能通过 FTP 访问

    usermod -s /sbin/nologin vsftpd

    三:FTP配置

    1:FTP的配置文件在/etc/vsftpd/vsftpd.conf,找到以下配置并修改或添加

    # 修改为NO,关闭匿名用户访问
    anonymous_enable=NO
    # 将所有本地用户限制在自家目录中,NO则不限制(禁止切换根目录)。
    chroot_local_user=YES 
    # 设置系统用户FTP主目录
    local_root=/data
    # 开启charoot写权限
    allow_writeable_chroot=YES
    #配置可以登录ftp的用户目录
    userlist_deny=NO
    userlist_file=/etc/vsftpd/user_list
    #配置ftp用户访问目录配置目录
    user_config_dir=/etc/vsftpd/userconfig
    # 配置FTP被动模式的端口
    pasv_min_port=30000
    pasv_max_port=30000

    2:配置可以登录ftp用户

    vim /etc/vsftpd/user_list

    在/etc/vsftpd/user_list文件中添加可以登录ftp的用户:

    image.png

    3:配置ftp用户登录后访问的目录

    在/etc/vsftpd目录下新建一个userconfig目录,在userconfig目录下配置用户的登录目录,例:注意:文件名就是你想要配置的用户名称

    mkdir /etc/vsftpd/userconfig
    vim /etc/vsftpd/userconfig/vsftpd

    在vsftpd文件中添加

    local_root=/data/test  #/data/test表示我登录ftp是的根目录

    配置完成后重启FTP更新配置

    systemctl restart vsftpd.service(service vsftpd restart)#重启

    四:创建测试目录及文件

    创建目录

    mkdir -p /data/test

    设置访问权限:

    chmod 777 -R /data/test

    创建一个测试文件,并在里面写上this is test!!!

    vim /data/test/test.txt

    五:防火墙配置

    禁用防火墙或者开启21端口和30000端口

    (1):禁用防火墙

    systemctl stop firewalld

    (2):开启21端口和30000端口

    #开启21端口
    firewall-cmd --zone=public --add-port=21/tcp --permanent
    #开启30000端口
    firewall-cmd --zone=public --add-port=30000/tcp --permanent
    #刷新配置
    firewall-cmd --reload

    六:客户端访问FTP服务

    1:登录:https://filezilla-project.org/ 下载FIleZilla客户端工具

    将下载下来的FIleZilla进行安装,安装过程十分简单,这里不介绍了

    2:使用FIleZilla登录ftp服务器

    image.png

    如上图ftp服务器登录成功,但是登录成功后发现,只能从ftp下载下拉,无法上传上去,上传时就报:

    image.png

    这是由于由于 vsftpd 默认被 SELinux 拦截,解决方法:

    1:首先查看SELinux中有关FTP的设置状态:

    getsebool -a | grep ftp

    image.png

    2:设置ftpd_full_access为开启状态

    setsebool -P ftpd_full_access=on

    3:重启vsftpd服务,即可正常访问FTP

    systemctl restart vsftpd.service(service vsftpd restart)#重启
  • 相关阅读:
    温昱谈架构和框架(Framework)的区别
    温故而知新:HttpApplication,HttpModule,HttpContext及Asp.Net页生命周期
    怎么设计一个好的数据库
    ORACLE修改表空间方法
    为[ double ] 类型 添加[zzzzz]方法
    常用的html代码 加粗 加亮 字型加大 变色等
    ASP.NET页面级别的事务
    无法加载 DLL“oramts.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
    把漫画浏览器的离线下载的功能给实现了一下
    以前写的IE9鼠标手势插件在IE10下也能工作
  • 原文地址:https://www.cnblogs.com/huaweichenai/p/10334551.html
Copyright © 2011-2022 走看看