1.FTP的主动模式和被动模式的区别:

最大的区别是数据端口并不总是20,

主动模式和被动模式的优缺点:

主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端 的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而 这个端口很有可能被服务器端的防火墙阻塞掉。

2.主要FTP的服务器:

Vsftpd,pureftpd,serv-u,

3.常用命令:

ftpwho:查看连接到服务器端用户。

ftpcount;查看连接到服务器的用户数量。

4.ftp配置文件/etc/vsftp/vsftp.cpnfig详解:

匿名用户设置:

write_enable=YES               //是否对登录用户开启写权限。属全局性设置。默认NO

local_enable=YES               //是否允许本地用户登录FTP服务器。默认为NO

anonymous_enable=YES          //设置是否允许匿名用户登录FTP服务器。默认为YES

ftp_username=ftp                //定义匿名用户的账户名称,默认值为ftp。

no_anon_password=YES             //匿名用户登录时是否询问口令。设置为YES,则不询问。默

认NO

anon_world_readable_only=YES   //匿名用户是否允许下载可阅读的文档,默认为YES。

anon_upload_enable=YES      //是否允许匿名用户上传文件。只有在write_enable设置为

YES时,该配置项才有效。而且匿名用户对相应的目录必须有写权限。默认为NO。

anon_mkdir_write_enable=YES //是否允许匿名用户创建目录。只有在write_enable设置为    YES时有效。且匿名用户对上层目录有写入的权限。默认为NO。

anon_other_write_enable=NO    //若设置为YES,则匿名用户会被允许拥有多于

上传和建立目录的权限,还会拥有删除和更名权限。默认值为NO。

用户登录所在目录:

local_root=/var/ftp

// 设置本地用户登录后所在的目录。默认配置文件中没有设置该项,此时用户登录FTP服务器后,所在的目录为该用户的主目录,对于root用户,则为/root目录。

anon_root=/var/ftp

//设置匿名用户登录后所在的目录。若未指定,则默认为/var/ftp目录。

控制用户是否切换到上级目录;

在默认配置下,用户可以使用“cd..”命名切换到上级目录。比如,若用户登录后所在的目录为/var/ftp,则在“ftp>”命令行 下,执行“cd..”命令后,用户将切换到其上级目录/var,若继续执行该命令,则可进入Linux系统的根目录,从而可以对整个Linux的文件系统 进行操作。

若设置了write_enable=YES,则用户还可对根目录下的文件进行改写操作,会给系统带来极大的安全隐患,因此,必须防止用户切换到Linux的根目录,相关的配置项如下:

chroot_list_enable=YES

// 设置是否启用chroot_list_file配置项指定的用户列表文件。设置为YES则除了列在j/etc/vsftpd/chroot_list文件中的的帐号外,所有登录的用户都可以进入ftp根目录之外的目录。默认NO

chroot_list_file=/etc/vsftpd/chroot_list

// 用于指定用户列表文件,该文件用于控制哪些用户可以切换到FTP站点根目录的上级目录。

chroot_local_user=YES

// 用于指定用户列表文件中的用户,是否允许切换到上级目录。默认NO

注意:要对本地用户查看效果,需先设置local_root=/var/ftp

具体情况有以下几种:

1)当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录的上级目录。

2)当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到站点根目录的上级目录;未在文件中列出的用户,可以切换到上级目录。

3)当chroot_list_enable=NO,chroot_local_user=YES时,所有用户均不能切换到上级目录。

4)当chroot_list_enable=NO,chroot_local_user=NO时,所有用户均可以切换到上级目录。

5)当用户不允许切换到上级目录时,登录后FTP站点的根目录“/”是该FTP账户的主目录,即文件的系统的/var/ftp目录。

设置访问控制

设置允许或不允许访问的主机(见TBP14)

tcp_wrappers=YES用来设置vsftpd服务器是否与tcp wrapper相结合,进行主机的访问控制。默认设置为YES,vsftpd服务器会检查/etc/hosts.allow和/etc /hosts.deny中的设置,以决定请求连接的主机是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。

比如,若要仅允许192.168.168.1~192.168.168.254的用户,可以访问连接vsftpd服务器,则可在/etc/hosts.allow文件中添加以下内容:

vsftpd:192.168.168.0/255.255.255.0 :allow

all:all:deny

设置允许或不允许访问的用户

对用户的访问控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件来控制实现。相关配置命令如下:

userlist_enable=YES

// 决定/etc/vsftpd/user_list文件是否启用生效。YES则生效,NO不生效。

userlist_deny=YES

// 决定/etc/vsftpd/user_list文件中的用户是允许访问还是不允许访问。若设置为YES,则/etc/vsftpd/user_list 文件中的用户将不允许访问FTP服务器;若设置为NO,则只有vsftpd.user_list文件中的用户,才能访问FTP服务器

5.配置文件:

超时选项:idle-session-timeout=600

负载控制:控制最大连接数:max_clients=..

6.匿名用户:

一般可以用匿名来登录服务器anonymous,但是不能上传文件。no_anon_password=YES/NO,匿名用户是否需要密码。

7.新建一个用户:

先用“useradd -d 目录名 用户名”建立一个到FTP目录的用户帐号,然后在用passwd设置密码

在修改配置文件/etc/vsftpd/vsftpd.config

guest_enable=YES

guest_username=用户名

setsebool ftpd_disable_trans 1

最新文章

  1. 学会给你的类(及成员)来定制一套自己的Attribute吧
  2. 安装CentOS7文字界面版后,无法联网,用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法
  3. Android IOS WebRTC 音视频开发总结(八十一)-- WebRTC靠谱吗?有没有适合的SDK推荐?
  4. 用C#基于WCF创建TCP的Service供Client端调用
  5. 每日目标——HTML 头部标签学习 2015-8-27
  6. oracle 学习笔记--用户管理
  7. Hibernate入门之关系篇:多对一和一对多映射
  8. springMVC之数据传递
  9. Flexible Box布局基础知识详解
  10. 【NOIP2016】换教室(动态规划)
  11. Leetcode 4.28 Tree Easy
  12. python 随机生成图片验证码背景RGB-浅色或者深色
  13. flock - 必应词典
  14. [原创]K8Cscan插件之存活主机扫描
  15. Python3-join()和split()
  16. 进程工作集WorkingSet (PSAPI 01)
  17. ARMV8 datasheet学习笔记4:AArch64系统级体系结构之Generic timer
  18. Android开发(二十一)——自动更新
  19. PHP 5.6 开启CURL HTTPS 类型
  20. idea+maven无法自动加载jar包

热门文章

  1. BZOJ 2501 [usaco2010 Oct]Soda Machine
  2. http长链接问题
  3. android 数据存储之SQLite
  4. java 同时安装多版本问题
  5. Django——5 自定义过滤器及标签
  6. sencha touch 2制作滑动DataView(无缝list)
  7. Binary search tree system and method
  8. JavaScript中的call()和apply()方法,借此实现继承
  9. c++ primer 第三章 标准库类型
  10. 洛谷—— P2424 约数和