Linux上搭建文件传输服务器“vsftpd”

简介

FTP,File transfer protocol的缩写,中文叫文本传输协议,是用于在网络上进行文件传输的一套标准协议,属于网络传输协议的应用层。注意,它是协议,不是软件,今天搭建的vsftpd是基于FTP开发的一套程序,也是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。

1.检查服务器环境(是否安装vsftpd服务并关闭防火墙和禁用selinux服务)

rpm -qa vsftpd && yum remove vsftpd
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld && systemctl disable firewalld

2.安装vsftpd和db数据库

yum install vsftpd-* pam* libdb-utils libdb* -y 

3.创建虚拟用户和账户密码
1)创建虚拟用户

useradd -s /sbin/nologin ftpuser
cd /home/ftpuser && mkdir test1 test2 && chown ftpuser.ftpuser -R test*

2)创建账户和密码文件

vim /etc/vsftpd/use_and_password
test1
123
test2
123

3)创建数据库文件并设置权限

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

4.PAM模块进行身份认证,编辑/etc/pam.d/vsftpd和/etc/vsftpd/vsfptd.conf配置文件
1)PAM配置文件添加二行参数配置

#%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

2)vsftpd.conf配置文件添加参数

#######################配置虚拟用户参数#################
guest_enable=YES
guest_username=ftpuser    ##ftpuser为创建的虚拟用户
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
pam_service_name=vsftpd 

5.为每个vsftpd虚拟账户创建配置文件
1)创建保存配置文件的目录

mkdir -p /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
touch test1 test2
vim test1
local_root=/home/ftpuser/test1
write_enable=YES
anon_world_readable_only=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES

6.设置锁定访问目录权限

###########设置锁定访问目录权限######
local_root=/home/ftpuser
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/user_and_password
allow_writeable_chroot=YES

7.开启vsftpd服务

systemctl start vsftpd
上一篇:WPF 应用 - 使用 Properties.Settings 保存客户端密码


下一篇:linux 搭建FTP服务