FTP 服务搭建与配置

FTP 服务搭建与配置

1. FTP 介绍

FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。

FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。

小公司用的多,大企业不用FTP,因为不安全

2. 使用vsftpd搭建ftp服务( CentOS上自带vsftpd)

2.1 安装 vsftpd

yum install -y vsftpd
#### 创建用户
useradd -s /sbin/nologin virftp

2.2 配置 vsftpd 账户文件

vim /etc/vsftpd/vsftpd_login`
#### 内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行
……
testuser1
aminglinux
……
#### 设置权限
chmod 600 /etc/vsftpd/vsftpd_login
#### 转换账户配置文件为二进制文件
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

2.3 配置 vsftpd 账户配置文件

mkdir /etc/vsftpd/vsftpd_user_conf
#### 创建 ftp 账户配置文件存放目录
cd /etc/vsftpd/vsftpd_user_conf
#### 创建账户配置文件
vim testuser1
#### 添加以下内容

local_root=/home/virftp/testuser1
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  #最大客户端数

2.4 配置相关文件、目录

#### 创建FTP用户访问的目录
mkdir /home/virftp/testuser1
touch /home/virftp/testuser1/aming.txt
#### 设置权限
chown -R virftp:virftp /home/virftp

vim /etc/pam.d/vsftpd
#### 在最前面加上以下内容

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

2.5 vsftpd 主配置文件

vim /etc/vsftpd/vsftpd.conf
将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服务

3. 测试FTP

3.1 Liunx下测试

yum install -y lftp

lftp ftpuser1@127.0.0.1

执行命令ls,看是否正常输出;若不正常查看日志/var/log/messages和/var/log/secure

3.2 windows下测试

安装Filezilla客户端软件,进行测试

4. 附录

使用pure-ftpd搭建ftp服务

yum install -y epel-release
yum install -y pure-ftpd
vim /etc/pure-ftpd/pure-ftpd.conf
#### 找到pureftpd.pdb这行,把行首的#删除
systemctl stop vsftpd
systemctl start pure-ftpd
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
pure-pw mkdb
pure-pw list/userdel/usermod/passwd
posted @ 2020-02-20 11:18  bret_chen  阅读(261)  评论(0编辑  收藏  举报