centos7搭建vsftpd环境详解[亲测成功]

centos7搭建vsftpd环境详解(亲测)

标签: centos7vsftpd

  分类:

初学Linux,各种被虐,经过各种折腾,终于成功在centosos7上搭建好了vsftpd,把操作过程写出来,供大家参考!


#-------------------------------------------------------------------

#   实现的目标及场景:

#   在centos7上搭建ftp环境,配置vsftpd

#   创建账号Fuser,dongzhu【多个账号】并使用该账号登录

#   使用被动模式,端口区间:40000-41000

#-------------------------------------------------------------------

一:安装Vsftpd软件

安装vsftpd,并设置开机启动

[plain]  view plain  copy
 print ?
  1. #yum install -y vsftpd  
  2.   
  3. #systemctl start vsftpd.service  
  4.   
  5. #systemctl enable vsftpd.service  

二:配置vsftpd环境

执行下边的命令,一行一行来。

[plain]  view plain  copy
 print ?
  1. #sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'  
  2.   
  3. #sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'  
  4.   
  5. #sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  
  6.   
  7. #sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'  
  8.   
  9. #sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  
  10.   
  11. #sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  
  12.   
  13. #sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  
  14.   
  15. #sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'  
  16.   
  17. #echo -e "use_localtime=YES\nlisten_port=21\nchroot_local_user=YES\nidle_session_timeout=300  
  18.   
  19. #\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=Fuser  

  1. #\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=dongzhu  


  1.   
  2. #\nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=YES  
  3.   
  4. #\allow_writeable_chroot=YES  
  5.   
  6. #\npasv_min_port=40000\npasv_max_port=41000  
  7.   
  8. #\naccept_timeout=5\nconnect_timeout=1" >> /etc/vsftpd/vsftpd.conf  

三:创建ftp用户

创建用户Fuser,一些写教程登录终端是/bin/false,我卡这半天,具体可以搜它和nologin的区别

[plain]  view plain  copy
 print ?
  1. #useradd Fuser -d /wwwroot -s /sbin/nologin  
  2.   
  3. #chown Fuser.Fuser /wwwroot -R  
  4.   
  5. #passwd dongzhu  

  1. #useradd dongzhu -d /wwwroot -s /sbin/nologin  
  2.   
  3. #chown dongzhu.dongzhu /wwwroot -R  
  4.   
  5. #passwd dongzhu  


四:重启vsftp服务

[plain]  view plain  copy
 print ?
  1. systemctl restart vsftpd.service  

注意,这里是centos的关于vsftp重启,以前的命令在这不管用!如果开了防火墙,记得把相应的端口添加进去,本场环境中涉及21,40000-41000


可能会用到的:

彻底删除用户:#userdel -rf Fuser   //强制删除用户及相关目录文件 

变更用户属性:#usermod -s /sbin/nologin Fuser

查看当前服务:#netstat -lntp


附:端口防火墙例外(端口放行)配置方法

1.centos7版本对防火墙进行 加强,不再使用原来的iptables,启用firewall

1.查看已开放的端口(默认不开放任何端口)
firewall-cmd --list-ports
2.开启80端口
firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)
3.重启防火墙
firewall-cmd --reload
4.停止防火墙
systemctl stop firewalld.service
5.禁止防火墙开机启动
systemctl disable firewalld.service
6.删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

2.centos7以下版本

1.开放80228080 端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
2.保存
/etc/rc.d/init.d/iptables save
3.查看打开的端口
/etc/init.d/iptables status
4.关闭防火墙 
1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
同时附上另一篇安装指南供参考

CentOS7安装和配置FTP

1. 安装vsftpd

复制代码
#安装vsftpd
yum install -y vsftpd
#设置开机启动
systemctl enable vsftpd.service 
# 重启
service vsftpd restart
# 查看vsftpd服务的状态
systemctl status vsftpd.service
复制代码

 


2. 配置vsftpd.conf

复制代码
#备份配置文件 
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

#执行以下命令
sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'

#添加下列内容到vsftpd.conf末尾
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1
复制代码

 


3. 建立用户文件

复制代码
#第一行用户名,第二行密码,不能使用root为用户名
vi /etc/vsftpd/virtusers
chris
123456
chang
123456
复制代码

 


4. 生成用户数据文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

chmod 600 /etc/vsftpd/virtusers.db 

 


5. 修改/etc/pam.d/vsftpd文件

复制代码
# 修改前先备份 

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

# 将auth及account的所有配置行均注释掉
vi /etc/pam.d/vsftpd

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

# 如果系统为32位,上面改为lib
复制代码

 


6. 新建系统用户vsftpd,用户目录为/home/vsftpd

#用户登录终端设为/bin/false(即:使之不能登录系统)
useradd vsftpd -d /home/vsftpd -s /bin/false
chown -R vsftpd:vsftpd /home/vsftpd

 


7.建立虚拟用户个人配置文件

复制代码
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf

#这里建立两个虚拟用户配合文件
touch chris chang

#建立用户根目录
mkdir -p /home/vsftpd/chris/

#编辑chris用户配置文件,内容如下,其他用户类似
vi chris

local_root=/home/vsftpd/chris/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
复制代码

 


8. 防火墙设置

vi /etc/sysconfig/iptables
#编辑iptables文件,添加如下内容,开启21端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

 

9. 重启vsftpd服务器

service vsftpd restart

 


10. 使用xftp等软件连接测试


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值