centOS安装配置FTP

centOS安装配置FTP

【配置过程】

  1. yum安装vsftpd ftp

    # yum install vsftpd ftp
    
  2. 启用root账户的连接权限

    将 /etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root这一行注释掉

  3. 配置vsftpd

    修改配置文件

    #vim /etc/vsftpd/vsftpd.conf
    

    取消下面内容前面的注释或者把这些内容都注释掉,在末尾自己添加:【注意一下YES/NO的开关,把#注释去掉。

    anonymous_enable=YES/NO  #是否允许匿名用户访问
    local_enable=YES/NO  #设置本地用户是否可以访问,如果为NO 则所有虚拟用户都将不能访问,因为虚拟用户访问在主机上其实是以本地用户访问的
    pam_service_name=vsftpd  #pam认证文件名 在/etc/pam.d/vsftpd
    chroot_list_enable=YES   #限定用户不可以离开主目录
    chroot_list_file=/etc/vsftpd/chroot_list 
    guest_enable=YES    #启用虚拟用户功能
    guest_username=ftp  #指定虚拟用户的宿主用户,centos系统自带ftp用户
    user_config_dir=/etc/vsftpd/vuser_conf  #设置虚拟用户个人配置文件(此文件后面不能出现空格)
    
  4. 安装db4

    #yum install db4 db4-utils
    
  5. 创建chroot_list文件

    注:见第三步chroot_list_file=/etc/vsftpd/chroot_list这一项,把/etc/vsftpd/vsftpd.conf 中guest_username项的值写到文件中。

     #vim /etc/vsftpd/chroot_list
    

    按i键,输入ftp,ESC——:wq——回车。

  6. 创建虚拟用户的目录

    #vim /etc/vsftpd/vftpuser.txtx(注,基数行写帐号,偶数行写密码)
    

    ESC——:wq——回车

  7. 生成虚拟用户口令文件和认证文件

    #db_load -T -t hash -f /etc/vsftpd/vftpuser.txtx /etc/vsftpd/vftpuser.db
    #vim /etc/pam.d/vsftpd
    

    注释掉/其中所有的内容,因为不要本地用户的认证了,
    32位系统增加以下两句:

    auth      required     pam_userdb.so db=/etc/vsftpd/vftpuser
    account   required     pam_userdb.so db=/etc/vsftpd/vftpuser
    

    64位系统增加以下两句:

    auth    required    /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser 
    account required    /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
    
  8. 配置用户设置

    创建vi /etc/vsftpd/vftpuser.txtx中写入的用户自己的配置文件,路径是/etc/vsftpd/vsftpd.conf中的user_config_dir=/etc/vsftpd/vuser_conf路径,文件名就是基数行的用户名

      #mkdir /etc/vsftpd/vuser_conf/
      #vim /etc/vsftpd/vuser_conf/【ftp用户名】
    

    写入如下内容:

      local_root=/var/www
      write_enable=YES
      download_enable=YES
      anon_world_readable_only=NO
      anon_upload_enable=YES
      anon_mkdir_write_enable=YES
      anon_other_write_enable=YES
      local_umask=022
    
  9. 赋权

    #chmod 777 /var/www/
    
  10. 重启ftp服务

    #service vsftpd restart
    

最后【8、9】这两步根据自己需要来,可以根据linux的权限和虚拟用户配置文件,自行设定

【出现错误】

账户无法登录,提示could not read chroot() list file:/etc/vsftpd/chroot_list

【解决方式】:

添加系统的FTP账户

    /usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftpuser

你可能感兴趣的:(centOS安装配置FTP)