Linux开启FTP(vsftpd)服务 



1. 查看是否安装 


# rpm -qa | grep vsftpd  



2. 全新安装  

 # rpm -ivh vsftpd-2.0.1-5.i386.rpm  



3. 启动/停止/重启 (主要就这三个命令!!!!!) 

 # service vsftpd start  

 # service vsftpd stop  

 # service vsftpd restart  



4. 主配置文件 (这一个不一定有,我的红帽企业版5里面就没有,但是也可以访问) 

 # vi /etc/vsftpd.conf  



 # 匿名用户配置  

 anonymous_enable=YES         # 是否允许匿名ftp,如否则选择NO  

 anon_upload_enable=YES       # 匿名用户是否能上传  

 anon_mkdir_write_enable=YES # 匿名用户是否能创建目录  

 anon_other_write_enable=YES # 修改文件名和删除文件  



 # 本地用户配置  

 local_enable=YES # 是否允许本地用户登录  

 local_umask=022 # umask 默认755  

 write_enable=YES  

 chroot_local_user=YES # 本地用户禁锢在宿主目录中  



 chroot_list_enable=YES # 是否将系统用户限止在自己的home目录下  

 chroot_list_file=/etc/vsftpd.chroot_list # 列出的是不chroot的用户的列表  



 chown_upload=YES # 是否改变上传文件的属主  

 chown_username=username # 如果是需要输入一个系统用户名  



 userlist_enable=YES  

 userlist_deny=NO  



 deny_email_enable=YES # 是否允许禁止匿名用户使用某些邮件地址  

 banned_email_file=/etc/vsftpd.banned_emails # 禁止邮件地址的文件路径  



 ftpd_banner=Welcome to chenlf FTP service. # 定制欢迎信息  

 dirmessage_enable=YES # 是否显示目录说明文件, 需要收工创建.message文件  

 message_file= # 设置访问一个目录时获得的目录信息文件的文件名,默认是.message  



 xferlog_enable=YES # 是否记录ftp传输过程  

 xferlog_file=/var/log/vsftpd.log # ftp传输日志的路径和名字  

 xferlog_std_format=YES # 是否使用标准的ftp xferlog模式  



 ascii_upload_enable=YES   # 是否使用ascii码方式上传文件  

 ascii_download_enable=YES # 是否使用ascii码方式下载文件  



 connect_from_port_20=YES # 是否确信端口传输来自20(ftp-data)  



 nopriv_user=ftpsecure # 运行vsftpd需要的非特权系统用户默认是nobody  



 async_abor_enable=YES # 是否允许运行特殊的ftp命令async ABOR.  



 # FTP服务器的资源限制  



 idle_session_timeout=600 # 设置session超时时间  

 data_connection_timeout=120 # 设置数据传输超时时间  



 max_clients=50 # 用户最大连接数 默认是0不限止  

 max_per_ip=5   # 每个IP地址最大连接数  



 anon_max_rate=102400 # 匿名的下载速度 KB  

 local_max_rate=102400 # 普通用户的下载速度 KB  



 5. 其他配置文件  

 /etc/xinetd.d/vsftpd  



 service ftp  

 {  

 socket_type = stream  

 wait = no  

 user = root  

 server = /usr/local/sbin/vsftpd  

 # server_args =  

 # log_on_success += DURATION USERID  

 # log_on_failure += USERID  

 nice = 10  

 disable = no  

 }  



 /etc/pam.d/vsftpd  

 PAM 认证  



 /etc/vsftpd.chroot_list  

 此文件包含对服务器上所有FTP内容有权限的用户名。对其他用户来说,他们在服务器上的主目录对他们显示为根目录。  



 /etc/shells  

 在允许本地用户登录之前,系统默认检查是否有有效的用户 shell。以防 PAM 认证不可用的情况。  

 /etc/ftpusers  

 此文件包含*禁止*FTP登录的用户名,通常有 "root", "uucp", "news" 之类,因为这些用户权限太高,登录 FTP 误操作危险性大。  



 6. 防火墙设置  



 如果是用默认的SuSEFirewall2,在 YaST-系统-/etc/sysconfig 编辑器,network-SuSEfirewall2  



 把 ftp 添加到 FW_SERVICES_EXT_TCP,比如你还要打开 ssh 那么  



 FW_SERVICES_EXT_TCP "ftp ssh"  



 如果你需要被动模式 FTP 和 nat,在 YaST-系统-/etc/sysconfig 编辑器,network-SuSEfirewall2  



 FW_LOAD_MODULES "ip_conntrack_ftp ip_nat_ftp"  





 另一种方式直接修改防火墙配置文件:  

 # cd /etc/sysconfig/  

 # vi SuSEfirewall2  

 FW_SERVICES_EXT_TCP "ftp 21 telnet 23"  

 # rcSuSEfirewall2 restart