配置FTP服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置FTP服务相关的知识,希望对你有一定的参考价值。

一、FTP简介

FTP 是File Transfer Protocol (文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
FTP的主要作用就是让用户连接一个远程计算机(这些计算上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
小公司用的多,大企业不用FTP ,因为不安全。

二、使用vsftpd搭建FTP服务

1、安装vsftpd

[[email protected] ~]# yum install -y vsftpd

2、建立帐号

vsftpd可以使用系统级别的用户进行登录,但是这样做不安全,所以需要使用vsftpd创建一个虚拟用户。在此创建一个系统普通用户的作用是使vsftpd的虚拟用户来进行映射,然后完成数据的传输。

 [[email protected] ~]# useradd virftp -s /sbin/nologin 
[[email protected] ~]# vim /etc/vsftpd/vsftpd_login            //建立与虚拟账户相关的文件,并添加以下内容

test1
123456
test2
abcdef

#奇数行为用户名,偶数行为用户密码。

[[email protected] ~]# chmod 600 /etc/vsftpd/vsftpd_login                     //更改权限,提升安全性
[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db    //vsftpd密码文件不是明文的,需要生成对应的库文件
[[email protected] ~]# ls -l /etc/vsftpd/              //查看是否生成了.db文件
总用量 36
-rw-------. 1 root root   125 8月   3 2017 ftpusers
-rw-------. 1 root root   361 8月   3 2017 user_list
-rw-------. 1 root root  5030 8月   3 2017 vsftpd.conf
-rwxr--r--. 1 root root   338 8月   3 2017 vsftpd_conf_migrate.sh
-rw-------. 1 root root    26 3月  27 18:15 vsftpd_login
-rw-r--r--. 1 root root 12288 3月  27 18:18 vsftpd_login.db
[[email protected] ~]# mkdir /etc/vsftpd/vsftpd_user_conf      //创建与虚拟帐号相关的目录

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

[[email protected] ~]# cd /etc/vsftpd/vsftpd_user_conf/
[[email protected] vsftpd_user_conf]# vim 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

参数含义:

local_root :定义虚拟用户的家目录
anonymous_enable :是否允许匿名用户
write_enable:是否允许可写
local_umask:定义创建新的文件和目录权限
anon_upload_enable:是否允许匿名用户可上传
anon_mkdir_write_enable:是否允许匿名用户可创建目录、可写
idle_session_timeout:设置连接空闲时间超时(上传或下载文件后,空闲时间,定义多少时间断开连接。单位s)
data_connection_timeout:数据传输的超时时间(单位:s)
max_clients:定义最大的客户端数

4、创建虚拟用户家目录以及密码文件

[[email protected] ~]# mkdir /home/virftp/test1
[[email protected] ~]# touch /home/virftp/test1/zlinux.txt
[[email protected] ~]# chown -R virftp:virftp /home/virftp/
[[email protected] ~]# vim /etc/pam.d/vsftpd               //添加两行以下,定义虚拟用户的密码文件位置
#两行内容要加在#%PAM这行下面,否则后面会出错
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

5、编辑vsftpd主配置文件

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf             //修改

#改成以下内容
anonymous_enable=NO
anon_upload_enable=NO
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 
#定义虚拟用户配置文件所在的路径

6、启动服务并验证

[[email protected] ~]# systemctl start vsftpd     //启动vsftpd服务
[[email protected] ~]# ps aux |grep vsftpd
root       2448  0.0  0.0  53216   572 ?        Ss   18:44   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       2450  0.0  0.0 112680   976 pts/0    R+   18:44   0:00 grep --color=auto vsftpd
[[email protected] ~]# netstat -lntp |grep vsftp
tcp6       0      0 :::21                   :::*                    LISTEN      2448/vsftpd 
[[email protected] ~]# yum install -y lftp                   //安装lftp客户端软件
[[email protected] ~]# lftp [email protected]
口令: 
lftp [email protected]:~> ls          
-rw-r--r--    1 1002     1002            0 Mar 27 10:30 zlinux.txt

这一步很多人会出错,请检查/var/log/secure日志,通常会记录一些错误信息。

三、使用xftp传输文件

下载xftp软件
安装xftp软件
刚开始运行,关闭掉xftp软件。
需要先登录xshell 5。
打开 Ctrl + Alt + F 组合键,自动关联xftp软件。

四、使用pure-ftpd搭建FTP服务

使用pure-ftpd搭建ftp,比较轻量、简单。

1、安装并配置pure-ftpd

[[email protected] ~]# yum install -y pure-ftpd
[[email protected] ~]# vim /etc/pure-ftpd/pure-ftpd.conf
#找到这行,删除前面#号
# PureDB                        /etc/pure-ftpd/pureftpd.pdb
[[email protected] ~]# systemctl stop vsftpd            //停止vsftpd服务
[[email protected] ~]# systemctl start pure-ftpd        //启动pure-ftpd服务
[[email protected] ~]# ps aux | grep pure-ftpd
root       2800  0.0  0.0 202424  1200 ?        Ss   19:19   0:00 pure-ftpd (SERVER)

2、建立账号并测试

[[email protected] ~]# mkdir /data/ftp/             //创建目录
[[email protected] ~]# useradd -u 1010 pure-ftp        //创建系统用户
[[email protected] ~]# chown -R pure-ftp:pure-ftp /data/ftp/
[[email protected] ~]# pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp/                         //创建虚拟帐号
Password: 
Enter it again: 
[[email protected] ~]# pure-pw mkdb      //创建用户信息数据库文件,关键步骤
[[email protected] ~]# touch /data/ftp/zlinux.txt
[[email protected] ~]# lftp [email protected]              //测试
口令: 
lftp [email protected]:~> ls      
drwxr-xr-x    2 1010       pure-ftp           24 Mar 27 19:27 .
drwxr-xr-x    2 1010       pure-ftp           24 Mar 27 19:27 ..
-rw-r--r--    1 0          0                   0 Mar 27 19:27 zlinux.txt

以上是关于配置FTP服务的主要内容,如果未能解决你的问题,请参考以下文章

atom配置ftp服务

Vsftpd服务配置ftp命令错误代码日志格式

Ubuntu16.04 ftp服务器安装+配置

Ubuntu16.04 ftp服务器安装+配置

QT 防止FTP 上传软件在断连处 Crash

关于centos6.5系统安装FTP服务和配置的方法