首页 > 代码库 > vsftp服务器搭建

vsftp服务器搭建

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目录。

 

源文档 <</span>http://blog.csdn.net/lhq9220/article/details/6544755>

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

 在默认配置下,用户可以使用“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

 

源文档 <</span>http://blog.csdn.net/lhq9220/article/details/6544755>

具体情况有以下几种:

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

vsftp服务器搭建