linux下搭建ftp服务器

jopen 10年前
  1. 用在线安装 

    yum install vsftpd pam* db4*-y

    使用命令将vsftp配置为系统服务 

    chkconfig --level 35 vsftpd on

  2. 2

    配置vsftpd服务的宿主 

    useradd vsftpdadmin -s /sbin/nologin -M

    这个vsftpdadmin只是用来替换root的,并不需要登录

  3. 3

    建立ftp虚拟宿主帐户 

    useradd vsftpuser -s /sbin/nologin -M

    这ftpuser只个虚拟帐户的宿主,本身是不用登录的

  4. 配置vsftpd.conf 配置之前要先备份一下原来的

    vi /etc/vsftpd/vsftpd.conf

    anonymous_enable=YES  -->  anonymous_enable=NO   //不允许匿名用户访问,默认是允许。

    chroot_list_enable=YES  -->  chroot_list_enable=YES      //不允许FTP用户离开自己主目录

    增加

    #设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。

    user_config_dir=/etc/vsftpd/vconf/userlocal

    #这一步非常重要,要记住这一步。一会要根据这个配置新建文件夹

    #修改端口号

    ftp_data_port=4040  

    reverse_lookup_enable=NO

    pasv_enable=yes

    pasv_min_port=48790

    pasv_max_port=48800

    listen_port=48796 #端口可以根据你自己实际情况配置,也可以用默认端口。但是为了安全考虑根据自己实际情况配置

  5. 建立虚拟用户文件

    mkdir /etc/vsftpd/vconf

    touch /etc/vsftpd/vonf/vir_user

  6. 建立虚拟用户

    vi /etc/vsftpd/vonf/vir_user

    virtualuser           //用户名 

    12345678           //密码

  7. 生成数据库

    db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db

  8. 设置数据库文件访问权限

    chmod 600 /etc/vsftpd/vconf/vir_user

    chmod 600 /etc/vsftpd/vconf/vir_user.db

  9. 修改/etc/pam.d/vsftpd

    auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user

    account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user

    (要想同时使用系统用户和虚拟用户,就需要把required改成sufficient)

  10. 根据第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal

    新建userlocal文件夹

    mkdir /etc/vsftpd/vconf/userlocal

  11. 根据第六步建立的用户名建立一个文件

    例如第六步建立的帐号是virtualuser,则新建一个virtualuser文件

    touch /etc/vsftpd/conf/userlocal/virtualuser

  12. 编辑该用户访问的文件路径

    vi /etc/vsftpd/conf/userlocal/virtualuser

    输入如下

    local_root= //需要指定的网站根目录,例如www.baidu.com所在文件夹为/www/baidu

    anonymous_enable=NO #禁止匿名用户访问

    write_enable=YES #开启写权限

    local_umask=022 #上传后文件的权限掩码

    anon_upload_enable=NO #关闭匿名下载

    anon_mkdir_write_enable=NO #关闭匿名创建文件夹

    idle_session_timeout=60 #会话自动关闭时间 60是因分钟

    data_connection_timeout=120 #数据延迟时间

    max_clients=10 #最大连接数

    max_per_ip=5 #同一个ip同时允许5个IP联机

    local_max_rate=1048576 #实体用户传输速度限制,单位B/s。0代表不限制

  13. 配置就此完成,重启vsftpd服务:service vsftpd restart。

    查看系统端口状态:netstas -tulnp。如果能看到48796端口正在被vsftpd调用说明启动成功