ftp 服务搭建

ftp 介绍

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

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

使用vsftp 搭建 ftp 服务

vsftp为CentOS自带的ftp软件

安装服务

yum -y install vsftpd db4-utils

建立系统账号

useradd virftp -s /sbin/nologin

建立虚拟账户

vim /etc/vsftpd/vsftpd_login
# 加入

test
1234567

格式:奇数行为用户,偶数行为密码

更改权限

chmod 600 /etc/vsftpd/vsftpd_login

生成库文件密码

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

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

mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
vim test
   # 文件名和虚拟用户名相同
#加入

local_root=/home/virftp/test   # 虚拟用户家目录
anonymous_enable=NO            # 匿名用户
write_enable=YES               # 可写权限
local_umask=022                # 文件的umask
anon_upload_enable=NO          # 上传权限
anon_mkdir_write_enable=NO     # 创建目录权限
idle_session_timeout=600       # 空闲超时时间
data_connection_timeout=120    # 连接超市时间
max_clients=10                 # 最大客户端连接数
max_per_ip=5                   # 最大客户端ip数量
local_max_rate=50000

           # 最大传输速度,k/s

创建ftp文件

mkdir /home/virftp/test
chown -R virftp:virftp /home/virftp

用户认证

vim /etc/pam.d/vsftpd  
# (在开头添加一下两行)
auth       sufficient   /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account    sufficient   /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

注意:如果系统为64位,则上面的lib改为lib64,否则配置失败

修改全局配置文件

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
listen_ipv4=yes

# 添加:

chroot_local_user=YES (可能已经存在)
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf

启动vsftpd 服务

systemctl start vsftpd

在客户端测试

# 客户端
yum install -y lftp
# 登录
lftp test@IP

使用pure-ftpd 搭建 ftp 服务

安装

yum install -y epel-release

yum install -y pure-ftpd

修改配置文件

vim /etc/pure-ftpd/pure-ftpd.conf

# 找到pureftpd.pdb这行,把行首的#删除

启动服务

systemctl start pure-ftpd

创建ftp目录和用户

# 创建ftp目录
mkdir -pv /data/ftp

# 创建用户
useradd -u 1010 pure-ftp

chown -R pure-ftp:pure-ftp /data/ftp

# 将系统用户映射为ftp用户
pure-pw useradd ftp -u pure-ftp  -d /data/ftp

# 生成密码库(这步很关键)
pure-pw mkdb

# 其他命令
pure-pw list/userdel/usermod/passwd

测试

# 客户端
yum install -y lftp
# 登录
lftp ftp@IP

最后更新于

这有帮助吗?