欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

部署FTP文件传输服务器

程序员文章站 2022-05-18 21:26:05
...

FTP简介

  • FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。它是典型的C/S结构的应用层协议需要从服务端软件、客户端软件两个部分实现文件传输功能。
    在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件
  • FTP服务器默认使用TCP协议的20、21端口,20端口用于建立数据连接,并传输文件数据。21端口用来建立控制连接,并传输FTP控制命令。

安装部署FTP服务、

  • 匿名访问FTP
  • Redhat6.5 上安装

    # mount /dev/cdrom /mnt    //挂载CDROM
    # rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
  • CentOS7 上安装

    # yum install vsftpd -y
    # systemctl stop firewalld
    # setenforce 0
    # vim /etc/vsftpd/vsftpd.conf           //配置文件开启匿名的权限
    anon_upload_enable=yes         # 号去掉   上传权限
    anon_mkdir_write_enable=yes    # 号去掉   创建写入权限
    anon_other_write_enable=yes
    chroot_local_user=YES        //禁锢在组目录
    # chmod 777 /var/ftp/pub/     
    # systemctl start vsftpd   //开启服务

部署FTP文件传输服务器

  • windows*问FTP的目录

打开我的电脑 路径输入:ftp://192.168.200.131/pub/

部署FTP文件传输服务器部署FTP文件传输服务器部署FTP文件传输服务器

  • 基于本地用户登录

    # vim /etc/vsftpd/vsftpd.conf
    anonymous_enable=NO    //关闭匿名登录
    local_enable=YES
    write_enable=YES
    local_umask=077
    chroot_local_user=YES
    local_root=/var/ftp    //末尾加入目录
    # systemctl restart vsftpd
  • windows*问FTP的目录

打开我的电脑 路径输入:ftp://192.168.200.131/pub/

部署FTP文件传输服务器部署FTP文件传输服务器

  • 使用user_list用户列表文件

  • user_list黑名单使用

    # vim /etc/vsftpd/user_list    //添加想要禁止访问ftp的用户
    test    
    # vim /etc/vsftpd/vsftpd.conf
    userlist_enable=YES   (没有#时 在user_list 里的帐号没法访问)  
    # systemctl restart vsftpd
  • user_list白名单使用

    # vim /etc/vsftpd/user_list    //添加想要允许访问ftp的用户
    test
    vi /etc/vsftpd/vsftpd.conf
    userlist_enable=YES     (没有#时 在user_list 里的帐号没法访问)
    userlist_deny=NO     (但加入这行后 只有user_list 里的帐号才能访问)
    # systemctl restart vsftpd
  • 建立虚拟用户账户使用FTP

    # cd /etc/vsftpd
    # vi /etc/vsftpd/vuser
    lisa       //奇数行为用户
    123123     //偶数行为密码
    tom
    123123
    # db_load -T -t hash -f vuser vuser.db   //转换成数据库文件
    # chmod 600 vuser
    # chmod 600 vuser.db   //不让别人看见里面的信息
    # useradd -d /opt/vuser -s /sbin/nologin vuser
    //创建一个用户为vuser 指定家目录/opt/vuser 并不使用shell登陆
    # mkdir /opt/vuser
    # chmod 755 /opt/vuser
  • 编辑pam认证模块支持虚拟用户的登陆

    vi /etc/pam.d/vsftpd.vu
    auth required pam_userdb.so db=/etc/vsftpd/vuser 
    account required pam_userdb.so db=/etc/vsftpd/vuser 
    //此处两个文件vuser并不是普通文件而是刚才创建的vuser.db数据库文件,此处必须省略不写
    
    # vi /etc/vsftpd/vsftpd.conf
    #pam_service_name=vsftpd  加#注释
    添加↓↓↓
    guest_enable=YES
    guest_username=vuser
    pam_service_name=vsftpd.vu  //开启虚拟用户,使用pam认证登陆
    # systemclt restart vsftpd  //重启服务
  • 单独用户

    # vi /etc/vsftpd/vsftpd.conf
    user_config_dir=/etc/vsftpd/vu_dir   //添加单独用户配置目录
    # mkdir vu_dir        //创建文目录
    # vi /etc/vsftpd/vu_dir/tom //在配置文件夹里创建用户配置文件
    anon_umask=022  //指定上传文件的权限 (022的意思是反的  644)
  • windows端cmd中操作命令

ftp 192.168.200.131 (访问ftp) (输入账户密码 匿名访问时 输入ftp 回车)
by 退出
e: 切换 E盘
cd pub
get test.txt 下载
put tes.txt 上传 (设置权限才能上传)

转载于:https://blog.51cto.com/13630803/2165160