Centos 7 的vsftpd安装和配置ftp

安装环境:

centos 7

vsftp 3.0.2

 

安装vsfd

       # yum -y install vsftpd

配置vsftpd

   1.防火墙设置

       # firewall-cmd --add-service=ftp --permanent //永久开放ftp服务

      # firewall-cmd --add-port=20/tcp --permanent

      # firewall-cmd --add-port=21/tcp --permanent //允许外网访问

      # firewall-cmd --reload //重新载入配置

   2.安全设置

      # vi /etc/selinux/config

     修改SELINUX=disabled

  • 启动vsftpd

      # systemctl start vsftpd.service

  • 访问

1.通过ftp方式访问

如果没有安装ftp命令,需要先安装。匿名方式账号:anonymous,密码:邮箱地址

     

 

    2.通过windows登陆

    

  • 配置vsftpd

   进入到vsftp目录

   # cd /etc/vsftpd

说明:

vsftpd.conf: 配置文件

ftpusers :ftp登陆用户黑名单

user_list: 黑名单,但是可以通过vsftpd.conf进行配置让该文件成为白名单

vsftp的登陆方式有三种:

第一种是匿名方式进行登陆

第二种是通过linux本地用户进行登陆

第三种是通过虚拟用户的方式进行登陆,下面就对这三种方式进行分别说明。

1.匿名登陆配置

anonymous_enable=YES //允许匿名登陆

local_enable=YES   // 允许本地用户登陆

write_enable=YES // 是否允许使用者具有写入权限

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES  //是否启用 userlist_file 白/黑名单

tcp_wrappers=YES

说明:匿名方式可以采用上面的登陆方式直接登陆。

2.使用linux本地用户进行登陆

vsftpd.conf文件配置如下:

anonymous_enable=NO //不允许匿名登陆

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

chroot_local_user=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

userlist_deny=NO //设置user_list为白名单,userlist_deny=YES则user_list为黑名单。

tcp_wrappers=YES

添加一个用于登陆ftp的用户,用户名:usera,用户目录:/home/usera,且设置该用户不允许登陆系统。

# useradd -d /home/usera -s /sbin/nologin usera

修改usera用户的密码

# passwd usera

去掉usera用户目录的‘写’权限

# chmod a-w /home/usera

将usera添加到user_list白名单文件中。

重启vsftpd

# systemctl restart vsftpd.service

linux登陆:

windows登陆:

点击-登陆,然后输入用户名usera,和密码12345678

3.虚拟用户登陆

vsftpd.conf文件配置如下:

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

local_root=/home/usera  // 根目录

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

chroot_local_user=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd  // vsftpd是在下面添加内容的文件

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES  // 允许匿名登陆

guest_username=usera  //对应刚才新建的本地用户,可以通过前面的命令进行创建

allow_writeable_chroot=YES // 允许修改根目录

用户信息配置如下:

# touch user.txt  // 创建用户文件

# vi user.txt  // 添加信息

生成db文件:

修改虚拟用户认证的PAM文件:

# vi /etc/pam.d/vsftpd

user指刚才生成的db文件,先删除vsftpd文件中已有的内容,再添加如下内容:

auth     required     pam_userdb.so  db=/etc/vsftpd/user

account  required     pam_userdb.so  db=/etc/vsftpd/user

更改usera的目录的权限:

# chmod -Rf 755 /home/usera/

重启:

# systemctl restart vsftpd.service

linux登陆:

注:需要注意linux中文件的权限和文件所属用户和用户组的修该,这些文件的权限要与虚拟用户一致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值