Ubuntu 用VSFTP搭建FTP服务器设置教程

   1、安装vsftpd

  终端输入sudo apt-get install vsftpd

  安装之后会在/home/下建立一个ftp目录,访问下可以看到一个空白内容的ftp空间。

  默认设置下需要匿名用户不可以登录

  2、设置 vsftpd.conf文件

  修改之前最好先备份这个文件:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old

  参数意义:

  Anonymous_enable=yes (允许匿名登陆)

  Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)

  Local_umask=022 (FTP上本地的文件权限,默认是077)

  Connect_form_port_20=yes (启用FTP数据端口的数据连接)*

  Xferlog_enable=yes (激活上传和下传的日志)

  Xferlog_std_format=yes (使用标准的日志格式)

  Ftpd_banner=XXXXX (欢迎信息)

  Pam_service_name=vsftpd (验证方式)*

  Listen=yes (独立的VSFTPD服务器)*

  功能:只能连接FTP服务器,不能上传和下传

  注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项

  开启匿名FTP服务器上传权限:

  Anon_upload_enable=yes (匿名帐号开放上传权限)

  Anon_mkdir_write_enable=yes (匿名帐号可创建目录的同时可以在此目录中上传文件)

  Write_enable=yes (开放本地用户写的权限)

  Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

  Anon_world_readable_only=no(开启匿名服务器下传的权限)

  普通用户FTP服务器的连接(独立服务器)配置:

  Local_enble=yes (本地帐户能够登陆)

  Write_enable=no (本地帐户登陆后无权删除和修改文件)

  功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限

  注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传

  用户登陆限制进其它的目录,只能进它的主目录:

  设置所有的本地用户都执行chroot

  Chroot_local_user=yes (本地所有帐户都只能在自家目录)

  设置指定用户执行chroot

  Chroot_list_enable=yes (文件中的名单可以调用)

  Chroot_list_file=/任意指定的路径/vsftpd.chroot_list

  注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可

  限制本地用户访问FTP:

  Userlist_enable=yes (用userlistlai 来限制用户访问)

  Userlist_deny=no (名单中的人不允许访问)

  Userlist_file=/指定文件存放的路径/ (文件放置的路径)

  注:开启userlist_enable=yes匿名帐号不能登陆

  安全选项

  Idle_session_timeout=600(秒) (用户会话空闲后10分钟)

  Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)

  Accept_timeout=60(秒) (将客户端空闲1分钟后断)

  Connect_timeout=60(秒) (中断1分钟后又重新连接)

  Local_max_rate=50000(bite) (本地用户传输率50K)

  Anon_max_rate=30000(bite) (匿名用户传输率30K)

  Pasv_min_port=50000 (将客户端的数据连接端口改在

  Pasv_max_port=60000 50000—60000之间)

  Max_clients=200 (FTP的最大连接数)

  Max_per_ip=4 (每IP的最大连接数)

  Listen_port=5555 (从5555端口进行数据连接)

  查看谁登陆了FTP,并杀死它的进程

  ps –xf |grep ftp

  kill 进程号

  3、配置本地组访问的FTP

  首先创建用户组 test和FTP的主目录

  groupadd test

  mkdir /tmp/test

  然后创建用户

  useradd -G test –d /tmp/test –M usr1

  注:G:用户所在的组

  d:表示创建用户的自己目录的位置给予指定

  M:不建立默认的自家目录,也就是说在/home下没有自己的目录

  useradd –G test –d /tmp/test –M usr2

  接着改变文件夹的属主和权限

  chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1

  chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有

  这个实验的目的就是usr1有上传、删除和下载的权限,而usr2只有下载的权限没有上传和删除的权限

  主配置文件vsftpd.conf要确定local_enable=yes、write_enable=yes、chroot_local_usr=yes这三个选项是有的哦!

  4、配置独立FTP的服务器的非端口标准模式进行数据连接

  在VSFTPD_CONF中添加Listen_port=33333

  5、配置单独的虚拟FTP,使用虚拟FTP用户,并使建立的四个帐户中有不同的权限

  (两个有读目录的权限,一个有浏览、上传、下载的权限,一个有浏览、下载、删除和改文件名的权限)

  1>配置网卡

  第一块网卡地址是10.2.3.4 掩码是255.255.0.0

  ifconfig eth0:1 211.131.4.253 netmask 255.255.255.0 up

  2>写入/etc/sysconfig中(为了重起后IP地址不会丢失)

  cd /etc/sysconfig/network-scripts

  cp ifcfg-eth0 ifcfg-eth0:1

  vi ifcfg-eth0:1在其中修改内容如下

  DEVICE=eth0:1

  BROADCAST=211.131.4.255

  HWADDR=该网卡的MAC地址

  IPADDR=211.131.4.253

  NETMASK=255.255.255.0

  NETWORK=211.131.4.0

  ONBOOT=yes

  TYPE=Ethernet

  wq退出

  3>进入vsftpd.conf所在的文件夹cp vsftpd.conf vsftpd2.conf

  修改vsftpd.conf添加以下信息

  Listen_address=10.2.3.4

  修改vsftpd2.conf添加以下信息

  Listen_address=211.131.4.253

  Ftpd_banner=this is a virtual ftp test

  到此虚拟的FTP服务器建立好了

  4>建立logins.txt

  vi /tmp/logins.txt

  添加入下信息:

  longlei------------用户名

  longlei------------密码

  zhangweibo

  zhangweibo

  jinhui

  jinhui

  lxp

  lxp

  格式:一个用户名,一个密码

  5>建立访问者的口令库文件,然后修改其权限

  db_load –T –t hash –f /tmp/logins.txt /etc/vsftpd_login.db

  6>进如/etc/pam.d/中创建

  在中添加如下信息

  auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login

  account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

  7>在/var/ftp/创建目录并改变其属性和它的属主

  useradd -d /var/ftp/test qiang

  chmod 700 /var/ftp/test

  在目录中添加test_file测试文件

  8>进入vsftpd2.conf修改其中的信息(可以是)

  Listen_yes

  Anonymous_enable=no

  Local_enable=yes

  Write_enable=no

  Anon_upload_enable=no

  Anon_mkdir_write_enable=no

  Anon_other_write_enable=no

  Chroot_local_user=yes

  Guest_enable=yes----------起用虚拟用户

  Guest_username=qiang------将虚拟用户映射为本地用户

  Listen_port=5555

  Max_client=10

  Max_per_ip=1

  Ftpd_banner=this is a virtual server and users

  Pam_service_name=ftp.vu

  注:在主配置文件中给的权限越低,在后面分用户管理的时候对用户的权限划分的空间就越大,因为主配置文件最高的限制服务先读主配置文件,然后再读用户的配置文件

  配置完成时候执行/etc/init.d/vsftpd restart重启ftp服务器即可

  到此虚拟USER就建好了

  9>在VSFTPD_CONF所在的目录中创建virtaul文件目录,并在文件目录中创建以你用户名命名的配置文件

  Longlei zhangweibo jinhui lxp

  在longlei中添加:

  Anon_world_readable_only=no

  在lxp中添加

  Anon_world_readable_only=no

  这样此两个用户就有了浏览目录的权限了

  在jinhui中添加

  Anon_world_readable_only=no

  Write_enable=yes

  Anon_upload_enable=yes

  此用户就有了上传、下载和浏览的权限

  在zhangweibo中添加

  Anon_world_readable_only=no

  Write_enable=yes

  Anon_upload_enable=yes

  Anon_other_write_enable=yes

  此用户就有了上传、下载、删除文件目录、修改文件名和浏览的权限

  10>修改vsftpd2.conf

  加入user_config_dir=/vsftpd.conf所在的目录/virtual

  重起服务器就搞定了

  VSFTPD_CONF中的所有配置信息

  Anonymous_enable=yes (允许匿名登陆)

  Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)

  Local_umask=022 (FTP上本地的文件权限,默认是077)

  Connect_form_port_20=yes (启用FTP数据端口的数据连接)*

  Xferlog_enable=yes (激活上传和下传的日志)

  Xferlog_std_format=yes (使用标准的日志格式)

  Ftpd_banner=XXXXX (欢迎信息)

  Pam_service_name=vsftpd (验证方式)*

  Listen=yes (独立的VSFTPD服务器)*

  Anon_upload_enable=yes (开放上传权限)

  Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)

  Write_enable=yes (开放本地用户写的权限)

  Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

  Anon_world_readable_only=no (放开匿名用户浏览权限)

  Ascii_upload_enable=yes (启用上传的ASCII传输方式)

  Ascii_download_enable=yes (启用下载的ASCII传输方式)

  Banner_file=/var/vsftpd_banner_file (用户连接后欢迎信息使用的是此文件中的相关信息)

  Idle_session_timeout=600(秒) (用户会话空闲后10分钟)

  Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)

  Accept_timeout=60(秒) (将客户端空闲1分钟后断)

  Connect_timeout=60(秒) (中断1分钟后又重新连接)

  Local_max_rate=50000(bite) (本地用户传输率50K)

  Anon_max_rate=30000(bite) (匿名用户传输率30K)

  Pasv_min_port=50000 (将客户端的数据连接端口改在

  Pasv_max_port=60000 50000—60000之间)

  Max_clients=200 (FTP的最大连接数)

  Max_per_ip=4 (每IP的最大连接数)

  Listen_port=5555 (从5555端口进行数据连接)

  Local_enble=yes (本地帐户能够登陆)

  Write_enable=no (本地帐户登陆后无权删除和修改文件)

  这是一组

  Chroot_local_user=yes (本地所有帐户都只能在自家目录)

  Chroot_list_enable=yes (文件中的名单可以调用)

  Chroot_list_file=/任意指定的路径/vsftpd.chroot_list (前提是chroot_local_user=no)

  这又是一组

  Userlist_enable=yes (在指定的文件中的用户不可以访问)

  Userlist_deny=yes

  Userlist_file=/指定的路径/vsftpd.user_list

  又开始单的了

  Banner_fail=/路径/文件名 (连接失败时显示文件中的内容)

  Ls_recurse_enable=no

  Async_abor_enable=yes

  One_process_model=yes

  Listen_address=10.2.2.2 (将虚拟服务绑定到某端口)

  Guest_enable=yes (虚拟用户可以登陆)

  Guest_username=所设的用户名 (将虚拟用户映射为本地用户)

  User_config_dir=/任意指定的路径/为用户策略自己所建的文件夹 (指定不同虚拟用户配置文件的路径)

  又是一组

  Chown_uploads=yes (改变上传文件的所有者为root)

  Chown_username=root

  又是一组

  Deny_email_enable=yes (是否允许禁止匿名用户使用某些邮件地址)

  Banned_email_file=//任意指定的路径/xx/

  又是单的

  Pasv_enable=yes ( 服务器端用被动模式)

  User_config_dir=/任意指定的路径//任意文件目录 (指定虚拟用户存放配置文件的路径)

  如需要使用本地用户登陆关闭来宾用户,必须设置如下命令:

  anonymous_enable=no

  guest_enable=no

  local_enable=yes

  write_enable=yes

  local_umask=022

  chroot_list_enable=yes

  chroot_list_file=/etc/vsftpd.chroot_list (如没有则自己创建) (在etc/vsftpd.chroot_list 填入需要登陆的本地用户名)

  6、解决vsftpd的中文乱码问题

  先安装源中的vsfpd,然后把所有的功能都配置完后,再解决中文乱码问题

  因为删除源的vsftpd后它的/init.d/vsftpd与/vsftpd.conf是不会删除的,可以为我们打好铺垫,不然你会发现很无奈的!如果 你是直接编译安装,附件给出会给出我的init.d/vsftpd与vsftpd.conf文件,把他们覆盖到/etc下吧!

  开始做编译的准备工作,准备编译环境需要的库包

  sudo apt-get build-dep vsftpd

  这里使用先安装源里的vsftpd,然后卸载

  sudo apt-get install vsftpd

  apt-get remove vsftpd

  下载附件并解压包

  tar -zxvf vsftpd-2.0.6

  cd vsftpd-2.0.6

  sudo su :使用root用户开始编译

  make #编译命令,如果无错误出现,表示成功

  make install #安装

  如果安装中出现找不到目录的话,就建立那个缺的目录就好了

  基本上都会提示缺少/man8和/man5目录的,建立后在重新make install

  下边就来测试下效果修改配置文件,加入

  charset_filter_enable=YES #开启字符过滤

  charset_client=GB2312 #客户端字符设置为简体中文

  好了现在把服务开启测试下吧

  sudo /etc/init.d/vsftpd restart

  在win下上传一个中文文件,看看效果吧,然后在把配置文件中关于字符的关掉,重起服务,在看吧.

时间: 2024-12-22 02:57:07

Ubuntu 用VSFTP搭建FTP服务器设置教程的相关文章

Ubuntu Linux下搭建FTP服务器图解

1 首先用命令检查是否安装了vsftpd vsftpd -version 如果未安装用一下命令安装 apt-get install vsftpd 安装完成后,再次输入vsftpd -version命令查看是否安装成功 2 新建一个文件夹用于FTP的工作目录 mkdir /home/ftp 3 新建FTP用户并设置密码以及工作目录 ftpname为你为该ftp创建的用户名 sudo useradd -d /home/ftp -s /bin/bash ftpname 为新建的用户设置密码 passw

win7下IIS搭建FTP服务器图文教程

第一步:依次进入控制面板–程序和功能–打开或关闭windows功能,如图: 接下来就选择要添加的功能,如图 点击确定,保存之后,再次依次进入 控制面板–系统和安全–管理工具... 然后打开Internet信息服务(IIS)管理器...建议发一个快捷方式到桌面上,打开管理器后,请右键单击 网站 然后选择添加FTP站点 然后就填写站点资料吧...物理路径就填你要让别人访问的文件夹,比如我在E盘建立了名为FTP的文件夹 然后就要填IP地址了,对于校园网之类的局域网记得选内网地址...外网是访问不了的.

win7iis怎么搭建ftp服务器 win7iis搭建ftp服务器教程

  win7iis怎么搭建ftp服务器?win7自带的iis搭建简单的FTP服务器,系统版本需是win7旗舰版,其它版本貌似不带iis.下文小乐哥给大家分享win7iis搭建ftp服务器教程,一起来学学吧! win7iis搭建ftp服务器教程 第一步:依次进入控制面板–程序和功能–打开或关闭windows功能,如图: 接下来就选择要添加的功能,如图 点击确定,保存之后,再次依次进入 控制面板–系统和安全–管理工具... 然后打开Internet信息服务(IIS)管理器.建议发一个快捷方式到桌面上

使用Serv-U搭建FTP服务器以及bestsync自动同步设置

  像一般下载站,软件下载都会有几台服务器作为镜像下载,那么怎么在服务器上面建立同步呢,话说几台服务器手动同步是很麻烦的.那么bestsync这个软件可以帮到您,他是可以建立自动同步的.需要在windows 2003中搭建一台FTP服务器,用于文件的上传与下载;同时将FTP服务器目录中的文件同步到多个服务器中,实现同步更新,同时文件需要控制用户访问对应的文件夹权限. 需要用到的软件有:bestsync(同步传输软件) Serv-U(搭建FTP) 步骤 使用Serv-U搭建FTP服务器 windo

CentOS 7 搭建ftp服务器

  本文采用最新的CentOS 7 来学习搭建Linux各种服务器,今天分享的是搭建ftp服务器(ps:不建议使用最新的系统去学习,因为系统发生了改变,好多以前的搭建服务器的方法就不行了,比如说centos7将防火墙由iptables换为了firewall,再按照原来的教程去搭建就会遇到很多问题.....,当然如果只是想用服务器大可在安装的时候勾选相应的选项系统会自动安装好相关的服务)由于本人运气比较差,所以在安装的过程遇到了各种奇葩的问题,并且本人还是一个刚入门的小菜鸟,因此花了足足3天才算把

centos 6.5 搭建ftp服务器

  搭建ftp服务器 126上: centos 6.5  64 mysql主从   安装步骤  1.通过yum来安装vsftpd [root@localhost ~]# yum -y install vsftpd 2.设置为开机启动 [root@localhost ~]# chkconfig vsftpd on 3.修改 vim /etc/vsftpd/vsftpd.conf 配置参数 没有的自己添加 注释了的把它开放,让其配置生效: local_enable=YES write_enable=

centos 搭建ftp服务器详解及简单介绍_FTP服务器

centos 搭建ftp服务器 1.安装vsftpd sudo yum install vsftpd 2.配置vsftpd.conf # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO # When SELinux is enforcing check for SE bool ftp_home_dir local_enable=YES write_ena

Windows2008 r2服务器搭建FTP服务器图解

最近需要搭建FTP服务器,顺着书上的教程走一遍流程. 1. 安装FTP服务 图一 图二 图三 可以看到上面提示并未启动windows自动更新,这个需要注意一下. 2. 新建FTP站点 准备FTP文件夹: 图四 开始新建站点: 图五 图六 此步由于没有SSL证书所以选择无. 图七 这里给予所有用户读取的权限. 图八 图九 这样子可以算是初步弄好,虽然在服务器端是可以访问的,但是由于没有设置防火墙,所以外面是暂时访问不了的. 图十 如果只是测试用的话,可以将防火墙关闭,但是真正使用的话则需要进一步的

在阿里云主机上基于CentOS用vsftpd搭建FTP服务器

最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小巧轻快,安全易用. vsftpd 的名字代表"very secure FTP daemon",安全是它的开发者 Chris Evans 考虑的首要问题之一.在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标. 准备工作 安装vsftpd yum install v