vsftp安装配置

Posted ltlinux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vsftp安装配置相关的知识,希望对你有一定的参考价值。

需求:搭建一个ftp,给予一个虚拟用户,仅对一个目录存在权限

 

1.安装vstpd

yum install vsftpd -y

 

2.安装libdb-utils

  安装Berkeley DB工具,用于生成虚拟用户认证文件

yum install libdb-utils   #Centos7

yum install db4 db4-utils   #Centos6

 

3.创建属主用户

  所有虚拟用户都是映射属主用户的目录权限。

 

4.修改主配置文件(/etc/vsftpd/vsftpd.conf)

listen=YES   #使用ipv4进行监听
anonymous_enable=NO    #关闭匿名访问
dirmessage_enable=YES
xferlog_enable=YES   #启动日志
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES    #限制用户不能离开特定目录
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
guest_enable=YES      #启动后,所有非匿名用户将映射到guest_username进行访问,并且转换成一个虚拟用户
guest_username=www
user_config_dir=/etc/vsftpd/vsftpd_user_conf   #虚拟用户配置文件目录
pam_service_name=vsftpd    #pam认证文件名称
local_enable=YES    #启用本地系统用户,包括虚拟用户

 

5.创建chroot文件

touch /etc/vsftpd/chroot_list

  

6.创建虚拟用户列表

echo -e "ftpuser\n123456" > /etc/vsftpd/vuser

 

7.生成虚拟用户认证文件

db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db

 

8.配置虚拟用户认证

cp /etc/pam.d/vsftpd,.bak

echo -e "auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser\naccount required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser" > /etc/pam.d/vsftpd

  

9.配置虚拟用户配置文件

mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftpserver  #文件名与对应FTP虚拟用户一致

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/www/backup  #虚拟用户主目录,用户和组必须指定为宿主用户
anon_umask=020

 

10.配置防火墙和selinux

setsebool -P ftpd_full_access on

iptables -I INPUT -p tcp --dport 21 -j ACCEPT  #FTP连接端口
iptables -I INPUT -p tcp --dport 33000:34000 -j ACCEPT  #pasv模式下的随机端口
iptables-save >/etc/sysconfig/iptables  #保存防火墙配置

 

11.重启vsftpd

service vsftpd restart

  

  

以上是关于vsftp安装配置的主要内容,如果未能解决你的问题,请参考以下文章

安装vsftp软件,配置yum源

Centos 7安装配置 vsftp服务 (虚拟用户登录)

Vsftp安装及配置虚拟用户

vsftp服务搭建配置

CentOS 7.0安装配置Vsftp服务器

安装配置vsftp