配置FTP服务

FTP是File Transfer Protocol(文件传输协议,简称文传协议)

的英文简称,用于在Internet上控制文件的双向传输。 

FTP的主要作用就是让用户连接一个远程计算机(这些计算机上

运行着FTP服务器程序),并查看远程计算机中的文件,然后把文

件从远程计算机复制到本地计算机,或把本地计算机的文件传送到

远程计算机。

一.使用vsftpd搭建FTP服务

1.安装vsftpd

yum install -y vsftpd db4-utils(db4-utils用来生成密码库文件)

2.建立账号

建立与虚拟账号相关联的系统账号,并建立相关文件,更改文件权限,提升安全级别

 

vsfptd使用的密码不是明文的,需要生成对应库文件,最后建立与虚拟账号相关的目录以及配置文件

3.创建和用户对应的配置文件

每一个用户都有自己地配置文件

vi test1
local_root=/home/virftp/test1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000

local_root为test1账号家目录,anonymous_enable用来限制是否允许匿名账号登录(若为NO,表示不允许匿名账号登录),write_enable=YES表示可写,local_umask指定umask值,anon_upload_enable表示是否允许匿名账号上传文件,anon_mkdir_write_enable表示是否允许匿名账号可写。创建test1:

4.修改全局配置文件/etc/vsftpd/vsftpd.conf

vi  /etc/vsftpd/vsftpd.conf   //修改用户配置文件不可用,就修改vsftpd的全局配置文件
将anonymous_enable=YES 改为 anonymous_enable=NO 
将#anon_upload_enable=YES 改为 anon_upload_enable=NO 
将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO 
再增加如下内容 
chroot_local_user=YES 
guest_enable=YES 
guest_username=virftp 
virtual_use_local_privs=YES 
user_config_dir=/etc/vsftpd/vsftpd_user_conf 
allow_writeable_chroot=YES 
systemctl start vsftpd  //启动vsftpd服务
(错误:Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.  重打一遍看看前面编辑是否有错)
测试:ps aux |grep vsftp //查看进程是否存在
      yum install  lftp  //安装lftp客户端软件
      lftp test1@127.0.0.1(若不正常查看日志/var/log/messages和/var/log/secure)

 二.安装配置pure-ftpd

1.安装pure-ftpd

yum install -y epel-release 
yum install -y pure-ftpd 
2.配置pure-ftpd

启动pure-ftpd前,先修改配置文件/etc/pure-ftpd/pure-ftpd.conf/

找到PureDB  /etc/pure-ftpd/pureftpd.pdb 把行首的#删除

启动pure-ftpd。先关闭vsftpd,因为端口冲突

systemctl stop vsftpd 
systemctl start pure-ftpd (启动失败查看/var/log/messages日志)
ps aux |grep pure-ftpd 

3.建立账号

mkdir /data/ftp 
useradd -u 1010 pure-ftp     
chown -R pure-ftp:pure-ftp /data/ftp 
pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp  //-u将虚拟用户ftp_user1与系统用户pure_ftp关联,-d后面的目录为ftp_user1|账户的家目录。ftp_user1只能访问家目录/data/ftp/
pure-pw mkdb  //创建用户信息数据库文件
pure-pw useradd ftp_user2 -u pure-ftp -d /tmp
pure-pw mkdb
pure-pw list
pure-pw userdel ftp_user2 //删除账号

4.测试pure-ftpd

lftp ftp_user1@127.0.0.1

 

原文地址:https://www.cnblogs.com/sxt0103/p/14301908.html