FTP服务搭建

FTP服务

一、FTP概论

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTPFile Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。

二、FTP分类及FTP用户分类

FTP分为主动模式和被动模式;

主动模式:服务器主动发起数据连接

被动模式:服务器被动等待数据连接

FTP用户:

匿名用户:不用输用户

本地用户:直接使用本地的系统用户账号进行验证

虚拟用户:不同于本地用户

三、FTP服务搭建

(1)匿名用户

服务端 ↓ ↓ ↓

yum -y install vsftpd ==>FTP软件

匿名FTP访问的目录

cd /var/ftp 里面有一个pub/目录,这个是共享目

chown ftp.root pub/==>修改pub的属主,ftp的程序用户默认就有

——ftp配置文件==>/etc/vsftpd/vsftpd.conf

为了安全起见可以先将ftp配置文件做备份==>cp vsftpd.conf{,.bak}

开启匿名用户上传的权限==>anon_upload_enable=YES

在下面手动添加匿名用户的权限掩码==>anon_umask=022

开启匿名用户新创建目录的权限==>anon_mkdir_write_enable=YES

在下面手动添加匿名用户的其他(删除权限)==>anon_other_write_enable=YES

——配置完成

启动ftp服务==>/etc/init.d/vsftpd start

netstat -antup | grep vsftpd==>检查一下端口确认是否开启

客户端 ↓ ↓ ↓

安装FTP服务==>yum -y install ftp

再服务端的共享目录pub/创建文件

ftp 192.168.200.126==>登录方式

匿名用户登录事名字都是ftp;没有密码

>>>多人共享一个目录

 

(2)本地用户

——配置文件==>vim /etc/vsftpd/vsftpd.conf

可以将匿名关了==>anonymous_enable=NO

chroot_local_user=YES==>大概在96行开启本地用户的目录锁定

           (每个用户的上传文件都会在自己的家目录里)

——配置完成

重启vsftpd服务==>service vsftpd reload

客户端测试 ↓ ↓ ↓

创建个本地用户==>useradd yunjisuan && echo "123456" | passwd -stdin yunjisuan

ftp 192.168.200.126

登录密码写创建用户的用户名和密码

>>>每个用户都有自己的独立空间

FTP服务器的黑名单==>/etc/vsftpd/ftpusers/etc/vsftpd/user_list

(将用户的用户名写入黑名单内,写对密码也禁止登陆)

 

 

(3)虚拟用户

先创建一个虚拟账号文件,需要使用db_load工具

cd /etc/vsftpd

——创建一个虚拟账号文件==>vim ./vusers.list

:zhangsan ==>虚拟用户名

    123      ==>密码

     lisi

    123

——配置完成

db_load -T -t hash -f vusers.list vusers.db

(使用db_load给这个文件转换成数据文件"-T"并使用hash加密"-t hash"加密后叫vusers.db)

chmod 600 vusers.db==>只能让属主读写

创建虚拟映射账号virtual,并指定家目录为/var/ftproot

useradd -d /var/ftproot/ -s /sbin/nologin virtual

mkdir -p /var/ftproot/ && chmod 755 /var/ftproot/

——创建一个pam认证文件==>vim /etc/pam.d/vsftpd.vu

auth required pam_userdb.so db=/etc/vsftpd/vusers

account required pam_userdb.so db=/etc/vsftpd/vusers

——配置完成

——修改/etc/vsftpd/vsftpd.conf 配置文件

pam认证文件加上.vu117==>pam service name=vsftpd.vu

在下面添加是否开启为YES==>guest_enable=YES

在下面添加开启本地映射账号==>guest_username=virtual

——配置完成

重启vsftpd服务==>service vsftpd reload

>>>共享同一个目录==>/var/ftproot

(登录时通过虚拟账号virtual显示)

 

 

>>>实现每个虚拟用户不同的根目录:

cd /etc/vsftpd && mkdir ./vusers.dir

vusers.dir里创建几个文件就是各个用户的配置文件

:vim zhangsan==>自己写配置文件

anon_upload_enable=YES==>允许匿名上传

anon_mkdir_write_enable=YES==>允许匿名状态下创建目录

anon_other_write_enable=YES==>允许匿名用户有除了创建之外的其他写权限

anon_mas_rate=1==>设置下载速度和上传速度为1字节(0表示不限速)

local_root=/var/zhangsan==>单独给zhangsan设置一个自己的目录

——配置完成

创建zhangsan的本地目录==>mkdir -p /var/zhangsan

chown virtual.root /var/zhangsan==>修改zhangsan的属主

——修改vsftpd.conf主配置文件==>vim /etc/vsftpd/vsftpd.conf

添加匿名用户的掩码==>anon_umask=022

在最后一行添加虚拟账号配置文件的路径==>user_config_dir=/etc/vsftpd/vusers.dir

——配置完成

重启vsftpd服务==>service vsftpd reload

 

posted @ 2018-10-24 14:13  -Hero  阅读(153)  评论(0编辑  收藏  举报