linux中FTP服务器简单介绍

一.FTP的基本功能: 
    1.FTP 服务器在预设的情况下,依据使用者登入的情况而分为三种不同的身份,分别是:
   (1)实体账号,real user;
   (2)访客, guest;
   (3)匿名登录者, anonymous
 2.命令记录与登录文件记录:   记录的信息放在/var/log/ 里面!
 3.限制用户活动的目录: (change root, 简称 chroot)

二. FTP 的运作流程与使用到的端口
 方法一:
     主动式联机使用到的端号
 1.建立命令通道的联机
 2.通知 FTP 服务器端使用 active 且告知连接的端号
 3.FTP 服务器主动向客户端联机
 方法二:
  客户端选择被动式 (Passive) 联机模式
 1.用户与服务器建立命令信道
 2.客户端发出 PASV 的联机要求
 3.FTP 服务器启动数据端口口,并通知客户端联机
 4.客户端随机取用大于 1024 的端口进行连接
三.FTP服务器所需要的软件以及软件结构
 1. FTP服务器所需要的软件vsftpd
 2.vsftpd软件结构:
  /etc/vsftpd/vsftpd.conf    vsftpd 的配置文件
  /etc/pam.d/vsftpd           vsftpd 使用 PAM 模块时的相关配置文件
  /etc/vsftpd/ftpusers        PAM 模块 (/etc/pam.d/vsftpd) 所指定的那个无法登入的用户配置文件
  /etc/vsftpd/user_list       是否能够生效与 vsftpd.conf 内的两个参数有关,分别是userlist_enable, userlist_deny
  /etc/vsftpd/chroot_list     文件事先是不存在的.主要功能是可以将某些账号的使用者 chroot 在他们的家目录下
  /usr/sbin/vsftpd       vsftpd的主要执行档
  /var/ftp/                 vsftpd预设匿名者登入的根目录(ftp 这个账号的家目录).
四./etc/vsftpd/vsftpd.conf配置文件里面的内容解释.
 1.与服务器环境较相关的设定值
 connect_from_port_20=YES (NO)  FTP 服务器的 port
 listen_port=21  vsftpd 使用的命令通道 port
 dirmessage_enable=YES (NO)  用户进入某个目录时显示该目录需要注意的内容.显示的档案默认是 .message
 message_file=.message  当 dirmessage_enable=YES 时,可以设定这个项目来让 vsftpd 寻找该档案来显示讯息!
 listen=YES (NO)   设定为 YES 表示 vsftpd 是以 stand alone 的方式来启动.
 pasv_enable=YES (NO)  支持数据流的被动式联机模式(passive mode),一定要设定为 YES
 use_localtime=YES (NO)  是否使用本地时间
 write_enable=YES (NO) 允许用户上传数据时,就要启动这个设定值
 idle_session_timeout=300  使用者在 300 秒内都没有命令动作,强制脱机
 max_clients=0  设定同一时间,最多有多少 client 可以同时连上 vsftpd
 max_per_ip=0  同一个 IP 同一时间可允许多少联机
 ftpd_banner=一些文字说明     当使用者联机进入到 vsftpd 时,在 FTP 客户端软件上头会显示的说明文字。
 banner_file=/path/file       使用者登入 vsftpd 服务器时所显示的欢迎字眼
 2.与实体用户较相关的设定值
 guest_enable=YES (NO)   设定为 YES 时,那么任何实体账号,均会被假设成为 guest至于访客在 vsftpd 时,预设会取得 ftp 这个使用者的相关权限
 guest_username=ftp   指定访客的身份
 local_enable=YES (NO)  设定值为 YES 时,在 /etc/passwd 内的账号才能以实体用户的方式登入vsftpd 服务器
 local_max_rate=0   实体用户的传输速度限制,单位为 bytes/second, 0 为不限制
 chroot_local_user=YES (NO)   是否要将使用者限制在自己的家目录之内
 chroot_list_enable=YES (NO)  是否启用 chroot 写入列表的功能
 chroot_list_file=/etc/vsftpd/chroot_list
 userlist_enable=YES (NO) 是否藉助 vsftpd 的抵挡机制来处理某些不受欢迎的账号
 userlist_deny=YES (NO)   YES时,使用者账号被列入到某个档案时, 在该档案内的使用者将无法登入 vsftpd 服务器
 userlist_file=/etc/vsftpd/user_list 若上面 userlist_deny=YES 时,在这个档案内的账号都无法使用 vsftpd.
 3.匿名者登入的设定值
 anonymous_enable=YES (NO) 是否允许 anonymous 登入vsftpd 主机
 anon_world_readable_only=YES (NO)  仅允许 anonymous 具有下载可读档案的权限
 anon_other_write_enable=YES (NO)  是否允许 anonymous 具有除了写入之外的权限
 anon_mkdir_write_enable=YES (NO)  是否让 anonymous 具有建立目录的权限
 anon_upload_enable=YES (NO)  是否让 anonymous 具有上传数据的功能
 deny_email_enable=YES (NO) 将某些特殊的 email address 抵挡住,不让那些 anonymous 登入
 banned_email_file=/etc/vsftpd/banned_emails 如果 deny_email_enable=YES 时,可以利用这个设定项目来规定哪个 email address 不可登入vsftpd
 no_anon_password=YES (NO)  YES时anonymous 将会略过密码检验步骤,而直接进入 vsftpd服务器
 anon_max_rate=0 限制 anonymous 的传输速度,0 则不限制
 anon_umask=077  限制 anonymous 上传档案的权限
 4.关于系统安全方面的一些设定值
 ascii_download_enable=YES (NO)  如果设定为 YES ,client 就优先使用 ASCII 格式下载文件。一般不建议开启.
 ascii_upload_enable=YES (NO)  如果设定为 YES ,client 就优先使用 ASCII 格式上传文件。一般不建议开启.
 tcp_wrappers=YES (NO) 是否开启tcp包
 xferlog_enable=YES (NO) 设定为 YES 时,使用者上传与下载文件都会被纪录起来
 xferlog_file=/var/log/xferlog    纪录使用者上传与下载等信息的文件
 xferlog_std_format=YES (NO)  是否设定为 wu ftp 相同的登录档格式
 pam_service_name=vsftpd  这个是 pam 模块的名称,放置在 /etc/pam.d/vsftpd中

你可能感兴趣的:(FTP服务器)