vsftpd文件服务器搭建(linux)

简介

vsftpd是一个完全免费的、开放源代码的ftp服务器软件

安装

yum -y install vsftpd
注意:

  1. yum需要管理员权限,根据情况使用sudo
  2. rpm -qa|grep vsftpd 可以查看是否已经安装vsftpd
  3. 默认配置文件在/etc/vsftpd/vsftpd.conf

创建虚拟用户

  1. 选择在根或者用户目录下创建ftp文件夹:mkdir ftpfile ,eg:/ftpfile
  2. 添加匿名用户:useradd ftpuser -d /ftpfile -s /sbin/nologin (这个用户是没有登录linux的权限的)
  3. 修改ftpfile文件夹权限: chown -R ftpuser.ftpuser /ftpfile
  4. 重设ftpuser密码:passwd ftpuser

配置

  1. 在/etc/vsftpd中,创建chroot_list文件
  2. 在choot_list目录中添加刚才的用户(ftpuser)


    chroot_list.png

    3.配置vsftpd.conf文件

  • 配置local_root指向刚刚创建的ftp目录(当本地用户登入时,将被更换到定义的目录下,默认值为各用户的家目录))
    local_root=/ftpfile
  • 配置anonymous_enable设置为NO,不允许匿名用户登录
    anonymous_enable=NO
  • 配置chroot_list相关
    chroot_local_user=NO(用于指定用户列表文件中的用户是否允许切换到上级目录)
    chroot_list_enable=YES(设置是否启用chroot_list_file配置项指定的用户列表文件)
    chroot_list_file=/etc/vsftpd/chroot_list(用于指定用户列表文件)
  • 配置use_localtime(默认是GMT时间,改成使用本机系统时间)
    use_localtime=YES
  • 配置PASV工作模式
    FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
    (1)PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
    当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了****端口,你过来连接我”。于是服务器从20端口向客户端的****端口发送连接请求,建立一条数据链路来传送数据。
    (2)PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
    当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了****端口,你过来连接我”。于是客户端向服务器的****端口发送连接请求,建立一条数据链路来传送数据。
    从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。
    pasv_enable=YES(PASV工作模式)
    pasv_min_port=61001(被动模式使用端口范围最小值)
    pasv_max_port=62000(被动模式使用端口范围最大值)
  1. 修改/etc/selinux/config,修改为SELINUX=disabled(否则会出现550拒绝访问)
    注:配置完后要重启linux服务器
  2. 关闭防火墙 修改/etc/sysconfig/iptables,然后重启防火墙服务service iptables restart
  3. 重启vsftpd服务 service vsftpd restart

验证

  • 方式一:在浏览器输入ftp://{ip:}登录即可
  • 方式二:在linux下安装ftp客户端,连接验证(ftp {ip}即可)

你可能感兴趣的:(vsftpd文件服务器搭建(linux))