1 / 22

10 FTP 服务器

10 FTP 服务器. 10-4-1 FTP服务简介 10-4-2 Vsftpd服务器配置基础 10-4-3 配置Vsftpd服务器 10-4-4 测试Vsftpd服务器. <-- FTP 请求. FTP 响应 -->. <-- FTP 请求. <-- 上传 数据. <-- 数据连接 -->. --> 下载数据. FTP 客户机. FTP 客户机. FTP 服务器. 10-4-1 FTP服务简介.

tekla
Download Presentation

10 FTP 服务器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 10 FTP服务器 • 10-4-1 FTP服务简介 • 10-4-2 Vsftpd服务器配置基础 • 10-4-3 配置Vsftpd服务器 • 10-4-4 测试Vsftpd服务器

  2. <-- FTP请求 FTP响应--> <-- FTP请求 <-- 上传数据 <-- 数据连接 --> --> 下载数据 FTP客户机 FTP客户机 FTP服务器 10-4-1 FTP服务简介 • 用户利用FTP客户机程序连接到远程主机上的FTP服务器程序。然后向服务器程序发送命令,服务器程序执行用户所发出的命令,并将执行结果返回给客户机。 • 在此过程中,FTP服务器与FTP客户机之间建立两个连接:控制连接和数据连接。 • Linux系统中常用的FTP服务器软件有3种: • Vsftpd • Proftpd • Wu-ftpd。

  3. 10-4-2 Vsftpd服务器配置基础 1、Vsftpd服务器的用户 • 本地用户 本地用户默认进入其个人主目录,并可以切换到其他有权访问的目录,还可上传和下载文件。 • 匿名用户 匿名用户只能下载/var/ftp/目录下的文件。 2、 /etc/vsftpd/vsftpd.conf ---- 主配置文件 /etc/init.d/vsftpd ---- 启动脚本 3、/etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用户列表文件 • /etc/vsftpd.user_list ---- 禁止或允许使用VSFTPD的用户列表文件

  4. VSFTPD的启动与停止 • VSFTPD可以单独(Standalone)方式运行,可以使用脚本/etc/rc.d/init.d/vsftpd来启动、关闭以及重启VSFTPD。 • 命令如下: • /etc/init.d/vsftpd start|stop|restart

  5. VSFTPD的设置选项 • ASCII模式 • 默认情况下,VSFTPD是禁止使用ASCII传输模式。即使FTP客户端使用asc命令,指明要使用ASCII模式,但是,VSFTPD表面上接受了asc命令,而在实际传输文件时,还是使用二进制方式。下面选项控制VSFTPD是否使用ASCII传输模式。 • ascii_upload_enable=YES|NO • 控制是否允许使用ascii模式上传文件,YES允许,NO不允许,默认为NO。 • ascii_download_enable=YES|NO • 控制是否允许使用ascii模式下载文件,YES允许,NO不允许,默认为NO。

  6. VSFTPD的设置选项 • 超时选项 • idle_session_timeout= • 空闲(发呆)用户会话的超时时间,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线。单位为秒,默认值为300。 • data_connection_timeout= • 空闲的数据连接的超时时间。默认值为300 秒。 • accept_timeout=numerical value • 接受建立联机的超时设定,单位为秒。默认值为60。 • connect_timeout=numerical value • 响应PORT方式的数据联机的超时设定,单位为秒。默认值为60。以上两个选项针对客户端的,将使客户端空闲1分钟后自动中断连接,并在中断1分钟后自动激活连接。

  7. VSFTPD的设置选项 • 负载控制 • max_clients=numerical value • 此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义了FTP服务器最大的并发连接数,当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。 • max_per_ip=numerical value • 此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将影响到象网际快车这类的多进程下载软件。默认值为0,表示不限制。 • anon_max_rate=value • 设定匿名用户的最大数据传输速度value,以Bytes/s为单位。默认无。

  8. VSFTPD的设置选项 • 用户选项-匿名用户 • anonymous_enable=YES|NO • 控制是否允许匿名用户登录,YES允许,NO不允许,默认值为YES。 • ftp_username= • 匿名用户所使用的系统用户名。默认下,此参数在配置文件中不出现,值为ftp。 • no_anon_password=YES|NO • 控制匿名用户登入时是否需要密码,YES不需要,NO需要。默认值为NO。   

  9. VSFTPD的设置选项 • 用户选项-匿名用户 • anon_root= • 设定匿名用户的根目录,即匿名用户登入后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/。 注意:匿名用户一般使用ftp的用户身份,故登录的主目录也是ftp用户的主目录 • anon_world_readable_only=YES|NO • 控制是否只允许匿名用户下载可阅读文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。默认值为YES。 • anon_upload_enable=YES|NO • 控制是否允许匿名用户上传文件,YES允许,NO不允许,默认是不设值,即为NO。除了这个参数外,匿名用户要能上传文件,还需要两个条件:一,write_enable参数为YES;二,在文件系统上,FTP匿名用户对某个目录有写权限。

  10. VSFTPD的设置选项 • 用户选项-匿名用户 • anon_mkdir_write_enable=YES|NO • 控制是否允许匿名用户创建新目录,YES允许,NO不允许,默认是不设值,即为NO。当然在文件系统上,FTP匿名用户必需对新目录的上层目录拥有写权限。 • anon_other_write_enable=YES|NO • 控制匿名用户是否拥有除了上传和新建目录之外的其他权限,如删除、更名等。YES拥有,NO不拥有,默认值为NO。 • chown_uploads=YES|NO • 是否修改匿名用户所上传文件的所有权。YES,匿名用户所上传的文件的所有权将改为另外一个不同的用户所有,用户由chown_username参数指定。此选项默认值为NO。 • chown_username=whoever • 指定拥有匿名用户上传文件所有权的用户。此参数与chown_uploads联用。不推荐使用root用户。

  11. VSFTPD的设置选项 • 用户选项-本地用户 • local_enable=YES|NO • 控制vsftpd所在的系统的用户是否可以登录vsftpd。默认值为YES • local_root= • 定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。默认值为无。 • user_config_dir= • 定义用户个人配置文件所在的目录。用户的个人配置文件为该目录下的同名文件。个人配置文件的格式与vsftpd.conf格式相同。例如定义 user_config_dir=/etc/vsftpd/userconf,并且主机上有用户xiaowang,lisi,那我们可以在 user_config_dir的目录新增名为xiaowang、lisi的两个文件。当用户lisi 登入时,VSFTPD则会读取user_config_dir下lisi这个文件中的设定值,应用于用户lisi。默认值为无。

  12. VSFTPD的设置选项 • 用户登录控制 • pam_service_name=vsftpd • 指出VSFTPD进行PAM认证时所使用的PAM配置文件名,默认值是vsftpd,默认PAM配置文件是/etc/pam.d/vsftpd。 • /etc/vsftpd.ftpusers • VSFTPD禁止列在此文件中的用户登录FTP服务器。这个机制是在/etc/pam.d/vsftpd中默认设置的。 • userlist_enable=YES|NO • 此选项被激活后,VSFTPD将读取userlist_file参数所指定的文件中的用户列表。当列表中的用户登录FTP服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后,VSFTPD查到该用户名在列表,VSFTPD就直接禁止掉该用户,不会再进行询问密码等后续步聚。默认值YES。

  13. VSFTPD的设置选项 • 用户登录控制 • userlist_file=/etc/vsftpd.user_list • 指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpd.user_list。 • userlist_deny=YES|NO • 决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。此选项在userlist_enable 选项启动后才生效。YES,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入口令的提示。NO,只允许在文件中的用户登录FTP服务器。 • tcp_wrappers=YES|NO • 在VSFTPD中使用TCP_Wrappers远程访问控制机制,默认值为YES。

  14. VSFTPD的设置选项 • 目录访问控制 • chroot_list_enable=YES|NO • 锁定某些用户在自己目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自己目录(及其子目录)下。具体的用户在chroot_list_file参数所指定的文件中列出。默认值为NO。 • chroot_list_file=/etc/vsftpd/chroot_list • 指出被锁定在自己目录中的用户的列表文件。文件格式为一行一用户。通常该文件是/etc/vsftpd/chroot_list。此选项默认不设置。

  15. VSFTPD的设置选项 • 目录访问控制 • chroot_local_users=YES|NO • 将本地用户锁定在自己目录中。当此项被激活时,chroot_list_enable和chroot_local_users参数的作用将发生变化,chroot_list_file所指定文件中的用户将不被锁定在自己目录。本参数被激活后,可能带来安全上的冲突,特别是当用户拥有上传、 shell访问等权限时。因此,只有在确实了解的情况下,才可以打开此参数。默认值为NO。 • passwd_chroot_enable • 当此选项激活时,与chroot_local_user选项配合,chroot()容器的位置可以在每个用户的基础上指定。每个用户的容器来源于/etc/passwd中每个用户的自己目录字段。默认值为NO。

  16. VSFTPD的设置选项 • 文件操作控制 • hide_ids=YES|NO • 是否隐藏文件的所有者和组信息。YES,当用户使用“ls -al”之类的指令时,在目录列表中所有文件的拥有者和组信息都显示为ftp。 • ls_recurse_enable=YES|NO • YES,允许使用"ls -R" 指令。这个选项有一个小的安全风险,因为在一个大型FTP站点的根目录下使用"ls -R"会消耗大量系统资源。默认值为NO。 • write_enable=YES|NO • 控制是否允许使用任何可以修改文件系统的FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。默认值为NO,不过自带的简单配置文件中打开了该选项。 • secure_chroot_dir= • 这选项指向一个空目录,并且ftp用户对此目录无写权限。当vsftpd不需要访问文件系统时,这个目录将被作为一个安全的容器,用户将被限制在此目录中。默认目录为/usr/share/empty。

  17. VSFTPD的设置选项 • 新增文件权限设定 • anon_umask= • 匿名用户新增文件的umask 数值。默认值为077。 • file_open_mode= • 上传档案的权限,与chmod 所使用的数值相同。如果希望上传的文件可以执行,设此值为0777。默认值为0666。 • local_umask= • 本地用户新增档案时的umask 数值。默认值为077。不过,其他大多数的FTP服务器都是使用022。如果您的用户希望的话,可以修改为022。在自带的配置文件中此项就设为了022。

  18. VSFTPD的设置选项 • 提示信息 • ftpd_banner=login banner string • 此参数定义了登录欢迎语字符串。用户可以自行修改。预设值为无。 • banner_file=/directory/vsftpd_banner_file • 此项指定一个文本文件,当使用者登入时,会显示此该文件的内容。与ftpd_banner相比, banner_file是文本文件的形式,而ftpd_banner是字串格式。banner_file选项将取代ftpd_banner选项。 • dirmessage_enable=YES|MO • 控制是否启用目录提示信息功能。YES启用,NO不启用,默认值为YES。此功能启用后,当用户进入某一个目录时,会检查该目录下是否有message_file选项所指定的文档。 • message_file= • 此选项,仅在dirmessage_enable选项激活方生效。默认值为.message。

  19. VSFTPD的设置选项 • 日志设置 • xferlog_enable=YES|NO • 控制是否启用一个日志文件,用于详细记录上传和下载。该日志文件由xferlog_file选项指定。默认值为NO,但简单配置文件中激活此选项。 • xferlog_file= • 这个选项设定记录传输日志的文件名。默认值为/var/log/vsftpd.log。 • xferlog_std_format=YES|NO • 控制日志文件是否使用xferlog的标准格式,如同wu-ftpd一样。使用xferlog格式,可以重新使用已经存在的传输统计生成器。然而,默认的日志格式更为可读性。 • log_ftp_protocol=YES|NO • 当此选项激活后,所有的FTP请求和响应都被记录到日志中。提供此选项时,xferlog_std_format不能被激活。这个选项有助于调试。默认值为NO。

  20. VSFTPD的具体应用方法 • 允许匿名用户上传文件 • 在vsftpd.conf文件中修改或增加以下选项: write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES • 然后创建供匿名用户上传文件的目录,并设定权限: # mkdir /var/ftp/incoming # chmod o+w /var/ftp/incoming • 由于匿名用户(ftp)上传文件,需要对incoming目录进行操作,而incoming为root所有,匿名用户(ftp)对于incoming来说是其他用户,所以要加入其他用户(o)的写权限。

  21. 10-4-4 测试Vsftpd服务器 • Windows环境和Linux环境都可以使用ftp命令行程序 • 格式:ftp [域名|IP地址] [端口号] • 功能:启动ftp命令行工具,如果指定FTP服务器的域名或IP地址,则建立与FTP服务器的连接。否则需要在ftp提示符后,输入“open 域名|IP地址”格式的命令才能建立与指定FTP服务器的连接。 • 与FTP服务器建立连接后,用户需要输入用户名和口令,验证成功后用户才能对FTP服务器进行操作。无论验证成功与否,可将出现ftp提示符“ftp >”,等待用户输入相应的子命令。

  22. ftp命令行常用命令 • open IP地址 与指定FTP服务器建立连接 • close 关闭与FTP服务器的连接 • Ls 查看FTP服务器当前目录的文件 • cd 目录名 切换到FTP服务器中指定的目录 • get 文件名 从FTP服务器下载指定的文件 • put 文件名 向FTP服务器上传指定的文件 • mkdir 目录名 在FTP服务器新建目录 • delete 文件名 删除FTP服务器中指定的文件 • bye 退出FTP命令行

More Related