linux's docs

27.2.1: vsftp


1. 安装vsftp

yum install -y vsftpd db4-utils

2. 准备vsftp使用的用户及密码文件

useradd vsftpd-u -s /sbin/nologin
vi /etc/vsftpd/vsftpd_login
========================================
ftpa1                     #奇数行为用户名
*passwd1*                 #偶数行为密码
ftpa2
*passwd2*
========================================
#保证安全性,设为只有root可读写
chmod 600 /etc/vsftpd/vsftpd_login

3. db_load命令来创建密码库文件

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
# db_load工具是由db4-utils提供的
# -T参数,让db_load将文本文件转换为db文件
# -t参数,指定db库文件类型,此处指定为hash(哈希)
# -f参数,指定input文件
# 语法:db_load -T -t <库类型> -f <input file> <output file>
rm -rf /etc/vsftpd/vsftpd_login
chmod 600 /etc/vsftpd/vsftpd_login.db       #保证安全性,设为只有root可读写

4. 配置/etc/pam.d/vsftpd和/etc/vsftpd/vsftpd.conf(全局设定)

vi /etc/pam.d/vsftpd
===========================================
# 将下面两行添加到最开头
# 64系统是lib64,32位系统是lib
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
......
===========================================

vi /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=vsftpd-u
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
===========================================

5. 建立虚拟账户目录及独立配置文件(独立设定)

mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf/
vim ftpa1
===========================================
local_root=/home/vsftpd-u/ftpa1    #目录写错了,各种错误折腾了好久
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
max_per_ip=5
local_max_rate=50000
===========================================
chown -R vsftpd-u:vsftpd-u /home/vsftpd-u

6. 启动vsftpd服务

service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
# 启动失败的话,请注意端口是否被占用,若被占用,kill掉那个占用的进程即可

Contents