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   //开启服务

windows 作为ftp 客户端 传文件到centos_开发工具

  • windows上访问FTP的目录

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

windows 作为ftp 客户端 传文件到centos_数据库_02

windows 作为ftp 客户端 传文件到centos_上传_03

windows 作为ftp 客户端 传文件到centos_开发工具_04

  • 基于本地用户登录
# 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/

windows 作为ftp 客户端 传文件到centos_上传_05

windows 作为ftp 客户端 传文件到centos_运维_06

使用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