检查是否已经安装vsftpd服务

    rpm -qa | grep vsftpd


wKiom1dWk_KDXuzrAABHnkNhmRM901.jpg


  没有出现 vsftpd-xxx字样表示没有安装


1.下载vsftpd.rpm格式的安装包

  redhat5: http://down.51cto.com/data/2221831


  其它版本:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd&submit=Search+...   

  或者在Linux系统安装文件中也可找到


2.上传vsftpd安装包到Linux目录

    

  3.安装vsftpd服务

      rpm -ivh 包名

    

  4.启动vsftpd服务

     service vsftpd start

    


  5.允许root用户远程访问FTP目录

     打开 /etv/vsftpd/vsftpd.user_list文件  将root注释或者去掉

     打开 /etv/vsftpd/vsftpd.ftpusers文件 将root注释或者去掉

    

  6.允许用户访问FTP不同目录

    setsebool -P ftp_home_dir 1

     service vsftpd restart

 

  5.更改vsftpd为开机自启动

     chkconfig vsftpd on


  连接不成功可能有以下原因:

    1.windows与Linux没连接上

    2.Linux防火墙

    3.Linux系统的SELinux安全策略

 解决方法:检查网络相关设置,关闭防火墙,关闭SELinux再尝试

     


用户访问控制:

(1)设置禁止登录的用户账号

    设置 /etc/vsftpd/vsftpd.conf 文件中userlist_enable=YES  userlist_deny=NO

     设置 vsftpd.user_list和vsftpd.ftpusers文件中的禁止登陆用户


(2)设置允许登录的用户账号

    设置 /etc/vsftpd/vsftpd.conf 文件中参数userlist_enable=YES userlist_deny=NO

     设置 vsftpd.user_list和vsftpd.ftpusers文件中的允许登陆用户

    

vsftpd配置文件参数解释:

anonymous_enable=YES(是否允许匿名登录FTP服务器,默认设置为YES允许,即用户可使用用户名ftp或anonymous进行ftp登录,口令为用户的E-mail地址。如不允许匿名访问去掉前面#并设置为NO)


local_enable=YES(是否允许本地用户(即linux系统中的用户帐号)登录FTP服务器,默认设置为YES允许,本地用户登录后会进入用户主目录,而匿名用户登录后进入匿名用户的下载目录/var/ftp/pub;若只允许匿名用户访问,前面加上#,可阻止本地用户访问FTP服务器。)


write_enable=YES (是否允许本地用户对FTP服务器文件具有写权限,默认设置为YES允许)


#local_umask=022(或其它值,设置本地用户的文件掩码为缺省022,也可根据个人喜好将其设置为其他值,默认值为077)


#anon_upload_enable=YES(是否允许匿名用户上传文件,须将write_enable=YES,默认设置为YES允许)

#anon_mkdir_write_enable=YES (是否允许匿名用户创建新文件夹,默认设置为YES允许)


#dirmessage_enable=YES(是否激活目录欢迎信息功能,当用户用CMD模式首次访问服务器上某个目录时,FTP服务器将显示欢迎信息,默认情况下,欢迎信息是通过该目录下的.message文件获得的,此文件保存自定义的欢迎信息,由用户自己建立)


xferlog_enable=YES(默认值为NO如果启用此选项,系统将会维护记录服务器上传和下载情况的日志文件,默认情况该日志文件为/var/log/vsftpd.log,也可以通过下面的xferlog_file选项对其进行设定。)


connect_from_port_20=YES(设定FTP服务器将启用FTP数据端口的连接请求,ftp-data数据传输,21为连接控制端口)


#chown_uploads=YES(设定是否允许改变上传文件的属主,与下面一个设定项配合使用)


#chown_username=whoever(设置想要改变的上传文件的属主,如果需要,则输入一个系统用户名,例如可以把上传的文件都改成root属主。whoever:任何人)


#xferlog_file=/var/log/vsftpd.log(设定系统维护记录FTP服务器上传和下载情况的日志文件,/var/log/vsftpd.log是默认的,也可以另设其它)


#xferlog_std_format=YES(如果启用此选项,传输日志文件将以标准xferlog的格式书写,该格式的日志文件默认为/var/log/xferlog,也可以通过xferlog_file选项对其进行设定,默认值为NO)


#dual_log_enable(如果添加并启用此选项,将生成两个相似的日志文件,默认在/var/log/xferlog和/var/log/vsftpd.log目录下。前者是wu_ftpd类型的传输日志,可以利用标准日志工具对其进行分析;后者是vsftpd类型的日志)


#syslog_enable(如果添加并启用此选项,则原本应该输出到/var/log/vsftpd.log中的日志,将输出到系统日志中)


#idle_session_timeout=600(设置数据传输中断间隔时间,此语句表示空闲的用户会话中断时间为600秒,即当数据传输结束后,用户连接FTP服务器的时间不应超过600秒,可以根据实际情况对该值进行修改)


#data_connection_timeout=120(设置数据连接超时时间,该语句表示数据连接超时时间为120秒,可根据实际情况对其个修改)


#nopriv_user=ftpsecure (运行vsftpd需要的非特权系统用户,缺省是nobody)


#async_abor_enable=YES(如果FTP client会下达“async ABOR”这个指令时,这个设定才需要启用,而一般此设定并不安全,所以通常将其取消)


#ascii_upload_enable=YES(大多数FTP服务器都选择用ASCII方式传输数据,将#去掉就能实现用ASCII方式上传和下载文件)


#ascii_download_enable=YES(将#去掉就能实现用ASCII方式下载文件)


#ftpd_banner=Welcome to blah FTP service.(将#去掉可设置登录FTP服务器时显示的欢迎信息,可以修改=后的欢迎信息内容。另外如在需要设置更改目录欢迎信息的目录下创建名为.message的文件,并写入欢迎信息保存后,在进入到此目录会显示自定义欢迎信息)


#deny_email_enable=YES(可将某些特殊的email address抵挡住。如果以anonymous登录服务器时,会要求输入密码,也就是您的email address,如果很讨厌某些email address,就可以使用此设定来取消他的登录权限,但必须与下面的设置项配合)


#banned_email_file=/etc/vsftpd/banned_emails(当上面的deny_email_enable=YES时,可以利用这个设定项来规定那个email address不可登录vsftpd服务器,此文件需用户自己创建,一行一个email address即可!)


#chroot_list_enable=YES(设置为NO时,用户登录FTP服务器后具有访问自己目录以外的其他文件的权限,设置为YES时,用户被锁定在自己的home目录中,vsftpd将在下面chroot_list_file选项值的位置寻找chroot_list文件,此文件需用户建立,再将需锁定在自己home目录的用户列入其中,每行一个用户)


#chroot_list_file=/etc/vsftpd/chroot_list(此文件需自己建立,被列入此文件的用户,在登录后将不能切换到自己目录以外的其他目录,由FTP服务器自动地chrooted到用户自己的home目录下,使得chroot_list文件中的用户不能随意转到其他用户的FTP home目录下,从而有利于FTP服务器的安全管理和隐私保护)


#ls_recurse_enable=YES是否允许递归查询,大型站点的FTP服务器启用此项可以方便远程用户查询


listen=YES(如果设置为YES,则vsftpd将以独立模式运行,由vsftpd自己监听和处理连接请求)

#listen_ipv6=YES(设定是否支持IPV6)


#pam_service_name=vsftpd(设置PAM外挂模块提供的认证服务所使用的配置文件名,

即/etc/pam.d/vsftpd文件,此文件中file=/etc/vsftpd/ftpusers字段,说明了PAM模块能抵挡的帐号内容来自文件/etc/vsftpd/ftpusers中)


#userlist_enable=YES/NO(此选项默认值为NO,此时ftpusers文件中的用户禁止登录FTP服务器;若此项设为YES,则user_list文件中的用户允许登录FTP服务器,而如果同时设置了userlist_deny=YES,则user_list文件中的用户将不允许登录FTP服务器,甚至连输入密码提示信息都没有,直接被FTP服务器拒绝)


#userlist_deny=YES/NO(此项默认为YES,设置是否阻扯user_list文件中的用户登录FTP服务器)


tcp_wrappers=YES(表明服务器使用tcp_wrappers作为主机访问控制方式,tcp_wrappers可以实现linux系统中网络服务的基于主机地址的访问控制,在/etc目录中的hosts.allow和hosts.deny两个文件用于设置tcp_wrappers的访问控制,前者设置允许访问记录,后者设置拒绝访问记录。例如想限制某些主机对FTP服务器192.168.57.2的匿名访问,编缉/etc/hosts.allow文件,如在下面增加两行命令:vsftpd:192.168.57.1:DENY vsftpd:192.168.57.9:DENY表明限制IP为192.168.57.1/192.168.57.9主机访问IP为192.168.57.2的FTP服务器,此时FTP服务器虽可以PING通,但无法连接)