1. 安装vsftpd
打开终端,输入
sudo apt-get install vsftpd
2. 安装完毕后会自动生成一个帐户"ftp",/srv下也会增加一个ftp文件夹。
注意:1) 不同的ubuntu版本。这里生成的文件夹可能不一样。其他生成路径:/home/ftp
2) 不要修改/srv/ftp的权限为777.权限设置为755,匿名访问才可以。
3. 建立上传文件夹,这里设置为myftpfile
更改/srv/ftp/myftpfile目录权限。这一步很重要。否则不能创建文件和上传文件。
sudo chmod 777 /srv/ftp/myftpfile
4. 修改配置文件
通过sudo vi /etc/vsftpd.conf修改。
简单的配置文件如下
#独立模式启动 listen=YES #允许匿名用户访问 anonymous_enable=YES #允许匿名用户创建目录 anon_mkdir_write_enable=YES #允许匿名用户上传 anon_upload_enalbe=YES #除了上传和创建目录外,还可以重命名,删除文件 anon_other_write_enable=YES #允许本地(系统)用户登录 local_enable=YES write_enable=NO #是否采用端口20进行数据传输 connect_from_port_20=YES #生成日志 xferlog_enable=YES #指定本地(系统)用户登录转向目录 #这里如果不指定路径,初始将会进入到用户的"/"目录下。 local_root=/srv/ftp
5. 更改配置文件后,重启ftp服务
sudo /etc/init.d/vsftpd restart
到此为止,一个简易的ftp服务器就搭建好了。 你可以尝试登陆一下。是不是很简单呢。
当然,在企业搭建ftp服务器时。这样肯定是不行的。需要考虑很多因素。如ip地址,端口,限速等等。
下面把一些配置贴出来,大家可以参考下
附:
1.匿名用户相关设置 anonymous_enable=YES ,将YES改为NO, 禁止匿名用户登陆 #anon_mkdir_write_enable=YES ,将#注释去掉,允许匿名用户创建目录 #anon_upload_enalbe=YES ,将#去掉,允许匿名用户上传 anon_world_readable_only=YES ,允许匿名用户下载,默认是禁止的,这个可以自行添加。 anon_other_write_enable=YES ,将其设为YES的话,就除了上传和创建目录外,还可以重命名,删除文件,默认是NO no_anon_password=NO ,将其设为YES,匿名用户不会查询用户密码直接登陆。 ftp_username=ftp ,匿名用户登陆系统的账号默认为ftp,此项最好不要改,否则设置不当会给系统的安全带来威胁。 2.FTP服务端口的指定 listen_port=8021 ,指定命令通道为8021,默认为21 listen_data_port=8020 ,指定数据通道为8020,默认为20 3.上传模式的设置 pasv_enable=YES ,是否允使用被动模式,默认是允许的。 pasv_min_port=10000 ,指定使用被动模式时打开端口的最小值 pasv_max_port=10004 ,指定使用被动模式时打开端口的最大值。 4.vsftp服务器指定IP地址 listen_address=192.168.0.21 ,指定FTP,IP地址 注:只有当vsftp运行于独立模式时才允许使用指定IP,如果在/etc/xinetd.d目录下已经建立了vsfpd文件,就要将该文件中的disable设置为yes,方可。 5. 锁定用户,禁止用户离开用户主目录 chroot_local_user=YES ,将其设为YES,就锁定在用户主目录,设为NO,可以切换 将指定用户设置为锁定用户主目录: #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd.chroot_list 将其改为如下: chroot_list_enable=NO chroot_list_file=/etc/vsftpd/vsftpd.chroot_list 将上面保存,再做如下操作: #touch /etc/vsftpd/vsftpd.chroot_list #vi /etc/vsftpd/vsftpd.chroot_list ,在该文件中加入用户名单,如: netseek_com 6.FTP服务器的流量控制 max_clients=100 ;允许的最大连接数,定义为100,默认为0,表没有限制 max_per_ip=5 ;每个IP允许的连接数,0表没有限制,需要运行于独立模式方可 anon_max_rate=50000 ;匿名用户最大带宽,单位为bps local_max_rate=200000 ;系统用户最大带宽 如何对指定用户进行流量限制呢? #vi /etc/vsftpd/vsftpd.conf,添加一行: user_config_dir=/etc/vsftpd/userconf #touch /etc/vsftpd/userconf/netseek_com 为netseek_com这个用户建立一个netseek_com文件 #vi /etc/vsftpd/userconf/netseek_com 添加以下内容 local_max_rate=100000 保存重启服务即可. 7.定制欢迎信息 目录说明设置 #vi /etc/vsftpd/vsftpd.conf #dirmessage_enable=YES,前的#去掉。 然后我们定制一个.message,写上你想写的东西,然后把这个文件复制到各个用户的家目录中,就OK。 系统欢迎消息设置 ftpd_banner=Welcome to ftp.netseek.com , Yeah!!! 系统欢迎消息文件设置 banner_file=/etc/vsftpd/welcome 与ftpd_banner相类似,不同之处在于,banner_file指定欢迎文件.