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\n\
account 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

  

  

猜你喜欢

转载自www.cnblogs.com/ltlinux/p/11293832.html
今日推荐