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 服务
在客户端测试
# 客户端
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