15、2 使用vsftpd搭建ftp服务

安装vsftpd工具
centos中默认自带vsftpd安装包。
yum install -y vsftpd
创建用户:
useradd -s /sbin/nologin virftp
说明: vsftpd可以使用系统级别的用户进行登录,但是这样做不安全,所以需要使用vsftpd创建一个虚拟用户。在此创建一个系统普通用户的作用是使vsftpd的虚拟用户来进行映射,然后完成数据的传输。

编辑虚拟用户密码文件
vim /etc/vsftpd/vsftpd_login
testuser1
123456
更改文件权限:
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 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_client=10
#客户端最大连接数量
注: 在此保持虚拟用户配置文件和虚拟用户名称一致。

15、2 使用vsftpd搭建ftp服务

创建虚拟用户家目录
mkdir /home/virftp/testuser1
创建一个文件:
touch /home/virftp/testuser1/adai.txt
chown -R virftp:virftp /home/virftp
虚拟用户密码匹配
vim /etc/pam.d/vsftpd
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
说明: 在该文件中添加这两行内容,用于指定用户密码文件位置。
注意: 在centos6中“/lib64/security/pam_userdb.so”该文件区分版本(32位、64位)。

15、2 使用vsftpd搭建ftp服务

编辑vsftpd主配置文件
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_user_conf
allow_writeable_chroot=YES

15、2 使用vsftpd搭建ftp服务

启动服务:
systemctl start vsftpd
ps aux |grep vsftpd
netstat -lntp

15、2 使用vsftpd搭建ftp服务

说明: FTP服务监听21端口;sshd监听22端口;telnet监听23端口。

测试
如果在Windows系统进行测试,可以在Windows安装filezilla软件。在Linux中测试,安装lftp工具。
注意关闭服务器防火墙(systemctl stop firewalld  setenforce 0  iptables -F)

15、2 使用vsftpd搭建ftp服务

yum install -y lftp
用法:
lftp testuser1@127.0.0.1
口令: 
#登录
lftp testuser1@127.0.0.1:~> ls      
drwxr-xr-x    2 1002     1002           22 Aug 24 10:19 testuser1
lftp testuser1@127.0.0.1:/> ?
#查询在lftp中可执行的命令
#常用命令:put、get
lftp testuser1@127.0.0.1:/> get testuser1/adai.txt
lftp testuser1@127.0.0.1:/> quit
ls
说明: 下载(get)的内容会保存到当前目录下。

15、2 使用vsftpd搭建ftp服务

  

转载于:https://my.oschina.net/u/3867322/blog/1934577