FTP服务的简要介绍

         ftp  是一种跨平台的文件共享服务器.走的是tcp协议.
         ftp的工作方式有两种.主动方式和被动方式.这两种方式是从服务器来考虑的,如果服务器支持主动访问就采用主动方式,支持被动访问就采用被动方式,当然也有的两种都支持,那么客户端想采用哪种访问都可以.
        ftp有两个姻亲端口a20(数据),21(控制)
  • 主动访问的端口是不固定的,防火墙不能知道访问的端口号.所以主动方式式不安全的.
  • 被动访问只是一个被动接收然后给与回应.
环境:
redhat5.3
操作:
mount  /dev/cdrom   /mnt/cdrom
cd  /mnt/cdrom/Server
rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm
[root@node1 ~]# rpm -qc vsftpd         可以看到与该服务进程相关的文件
/etc/logrotate.d/vsftpd.log               //日志文件可以在主配置文件内修改
/etc/pam.d/vsftpd                     //ftp服务调用的模块
/etc/vsftpd/ftpusers                   //此文件内的用户不能登陆ftp
为什么ftpusers内的用户不能登陆,可以cat  /etc/pam.d/vsftpd察看
Auth required  pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed   //凡是符合file路径内的用户都拒绝登陆。
/etc/vsftpd/user_list                  //与主配置文件内userlist_deny 相关,如果userlist_deny=YES 那么user_list内的用户不能访问。反之,可以访问
/etc/vsftpd/vsftpd.conf               //ftp服务的主配置文档
/etc/vsftpd/vsftpd_conf_migrate.sh          //ftp配置文件的变量脚本
访问ftp站点有两种:匿名用户访问和本地用户身份访问
下边基于这两种身份访问进行讲解:
匿名用户访问:
匿名访问密码为空。
anonymous_enable=YES          //匿名用户可以访问
anon_mkdir_write_enable=YES    //可以创建目录,但不能更改名称
anon_other_write_enable=YES    //可以修改和删除目录文件。
anon_upload_enable=YES    //可以上传
anon_umask=073   //修改匿名用户创建的文件的umask值,073,屏蔽文件的写和执行权限,匿名用户只可以读取。
一般企业内匿名用户只有读权限,所以只需要把ftp共享文件的umask值修改为073即可。
本地用户访问:
userlist_enable=YES  
userlist_deny=YES
vim /etc/vsftpd/user_list ,当你设置前边两行时,那么user_list中的用户不能登陆ftp
 
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
当把如上两行打开,那么chroot_list中的用户只能局限在自己的家目录。chroot_list文件需要手工创建。
 
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log  //打开ftp的日志文件,只能获取一些登陆的基本信息
 
xferlog_std_format=NO
log_ftp_protocol=NO
这添加如上两行,可以详细的获取哪个用户的登陆信息和删除,下载等操作信息。
 
deny_email_enable=YES
banned_email_file=/etc/vsftpd/banned_emails
主要是为了防止有些人用邮箱作为匿名登陆的密码,窃取ftp服务器的版本信息以及漏洞。
vim /etc/vsftpd/banned_emails,当把前边两行打开,那么banned_emails内的邮箱名就不能作为匿名登陆的密码访问ftp了。邮箱名可以从ftp的日志文件中获取。
 
ftpd_banner= Welcome to blah FTP service.
登陆ftp服务器可以在头部显示欢迎信息。
当访问ftp内的目录,我们需要一些提示信息了解此目录时,需要在访问目录下创建.message隐藏文件。编辑.message输入一些提示信息。如:在//var/ftp/pub/下创建echo “ this is a movie directory ” >.message,然后访问ftp
参数tcp_wrappers=YES          //开启linux系统中的简易防火墙。
简易防火墙包括两个文件,可以通过ll  /etc/hosts*察看
hosts.allow文件内添加条目的书写方式如:
vsftpd:192.168.50.1:allow   //表示192.168.50.1允许访问。
当然hosts.deny文件是用来拒绝访问的。书写方式一样。