Linux下Vsftpd的系统架构

运维 系统运维
Vsftpd是在Linux系统中,最为推崇的一种FTP服务器程序,Vsftpd的特点是安全、快速。那么该如何在Linux下架构Vsftpd呢?

  环境:linux as 3.0 + vsftpd -1.2.0-4的系统架构,是在独立服务器环境!

  1. 配置本地组访问的FTP

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

  1.   groupadd test  
  2.  
  3.   mkdir /tmp/test  
  4.  

  然后创建用户

  1.   useradd -G test –d /tmp/test –M usr1  
  2.  

  注:

  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这三个选项是有的哦!

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

  这个非常容易:在VSFTPD.CONF中添加

  Listen_port=33333

  就可以了啦!

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

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

  A:配置网卡

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

  ifconfig eth0:1 211.131.4.253 netmask 255.255.255.0 up

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

  cd /etc/sysconfig/network-scripts

  cp ifcfg-eth0 ifcfg-eth0:1

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

 

  1.   DEVICE=eth0:1  
  2.  
  3.   BROADCAST=211.131.4.255  
  4.  
  5.   HWADDR=该网卡的MAC地址  
  6.  
  7.   IPADDR=211.131.4.253  
  8.  
  9.   NETMASK=255.255.255.0  
  10.  
  11.   NETWORK=211.131.4.0  
  12.  
  13.   onBOOT=yes 
  14.  
  15.   TYPE=Ethernet 
  16.  

  wq推出

  C:进入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服务器建立好了

  D:建立logins.txt

  vi /tmp/logins.txt

  添加入下信息:

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

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

  zhangweibo

  zhangweibo

  jinhui

  jinhui

  lxp

  lxp

  格式要按照我的来哦,一个用户名,一个密码啦

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

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

  G:进如/etc/pam.d/中创建ftp.vu

  在此文件中添加如下信息

  1.   auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login  
  2.  
  3.   account required /lib/security/pam_userdb.so db=/etc/vsftpd_login  
  4.  

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

  1.   useradd -d /var/ftp/test qiang  
  2.  
  3.   chmod 700 /var/ftp/test  
  4.  

  在目录中添加test_file测试文件

  I:进入vsftpd2.conf修改其中的信息

  1.   Listen_yes  
  2.  
  3.   Anonymous_enable=no  
  4.  
  5.   Local_enable=yes 
  6.  
  7.   Write_enable=no 
  8.  
  9.   Anon_upload_enable=no  
  10.  
  11.   Anon_mkdir_write_enable=no  
  12.  
  13.   Anon_other_write_enable=no  
  14.  
  15.   Chroot_local_user=yes 
  16.  
  17.   Guest_enable=yes----------起用虚拟用户  
  18.  
  19.   Guest_username=qiang------将虚拟用户映射为本地用户  
  20.  
  21.   Listen_port=5555 
  22.  
  23.   Max_client=10 
  24.  
  25.   Max_per_ip=1 
  26.  
  27.   Ftpd_banner=this is a virtual server and users  
  28.  
  29.   Pam_service_name=ftp.vu  
  30.  

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

  重起服务,到此虚拟USER就建好了

  J:在VSFTPD.CONF所在的目录中创建virtaul文件目录

  并在文件目录中创建以你用户名命名的配置文件

  Longlei zhangweibo jinhui lxp

  在longlei中添加:

  1.   Anon_world_readable_only=no  
  2.  

  在lxp中添加

  1.   Anon_world_readable_only=no  
  2.  

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

  在jinhui中添加

  1.   Anon_world_readable_only=no  
  2.  
  3.   Write_enable=yes 
  4.  
  5.   Anon_upload_enable=yes 
  6.  

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

  在zhangweibo中添加

  1.   Anon_world_readable_only=no  
  2.  
  3.   Write_enable=yes 
  4.  
  5.   Anon_upload_enable=yes 
  6.  
  7.   Anon_other_write_enable=yes 
  8.  

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

  K:修改vsftpd2.conf

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

  重起服务器

  下面是VSFTPD.CONF中的所有配置信息

  1.   Anonymous_enable=yes (允许匿名登陆)  
  2.  
  3.   Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)  
  4.  
  5.   Local_umask=022 (FTP上本地的文件权限,默认是077)  
  6.  
  7.   Connect_form_port_20=yes (启用FTP数据端口的数据连接)*  
  8.  
  9.   Xferlog_enable=yes (激活上传和下传的日志)  
  10.  
  11.   Xferlog_std_format=yes (使用标准的日志格式)  
  12.  
  13.   Ftpd_banner=XXXXX (欢迎信息)  
  14.  
  15.   Pam_service_name=vsftpd (验证方式)*  
  16.  
  17.   Listen=yes (独立的VSFTPD服务器)*  
  18.  
  19.   Anon_upload_enable=yes (开放上传权限)  
  20.  
  21.   Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)  
  22.  
  23.   Write_enable=yes (开放本地用户写的权限)  
  24.  
  25.   Anon_other_write_enable=yes (匿名帐号可以有删除的权限)  
  26.  
  27.   Anon_world_readable_only=no (放开匿名用户浏览权限)  
  28.  
  29.   Ascii_upload_enable=yes (启用上传的ASCII传输方式)  
  30.  
  31.   Ascii_download_enable=yes (启用下载的ASCII传输方式)  
  32.  
  33.   Banner_file=/var/vsftpd_banner_file (用户连接后欢迎信息使用的是此文件中的相关信息)  
  34.  
  35.   Idle_session_timeout=600(秒) (用户会话空闲后10分钟)  
  36.  
  37.   Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)  
  38.  
  39.   Accept_timeout=60(秒) (将客户端空闲1分钟后断)  
  40.  
  41.   Connect_timeout=60(秒) (中断1分钟后又重新连接)  
  42.  
  43.   Local_max_rate=50000(bite) (本地用户传输率50K)  
  44.  
  45.   Anon_max_rate=30000(bite) (匿名用户传输率30K)  
  46.  
  47.   Pasv_min_port=50000 (将客户端的数据连接端口改在Pasv_max_port=60000 50000—60000之间)  
  48.  
  49.   Max_clients=200 (FTP的最大连接数)  
  50.  
  51.   Max_per_ip=4 (每IP的最大连接数)  
  52.  
  53.   Listen_port=5555 (从5555端口进行数据连接)  
  54.  
  55.   Local_enble=yes (本地帐户能够登陆)  
  56.  
  57.   Write_enable=no (本地帐户登陆后无权删除和修改文件)  
  58.  

  这是一组

  1.   Chroot_local_user=yes (本地所有帐户都只能在自家目录)  
  2.  
  3.   Chroot_list_enable=yes (文件中的名单可以调用)  
  4.  
  5.   Chroot_list_file=/任意指定的路径/vsftpd.chroot_list (前提是chroot_local_user=no)  
  6.  

  这又是一组

  1.   Userlist_enable=yes (在指定的文件中的用户不可以访问)  
  2.  
  3.   Userlist_deny=yes 
  4.  
  5.   Userlist_file=/指定的路径/vsftpd.user_list  
  6.  

  又开始单的了

  1.   Banner_fail=/路径/文件名 (连接失败时显示文件中的内容)  
  2.  
  3.   Ls_recurse_enable=no 
  4.  
  5.   Async_abor_enable=yes 
  6.  
  7.   one_process_model=yes 
  8.  
  9.   Listen_address=10.2.2.2 (将虚拟服务绑定到某端口)  
  10.  
  11.   Guest_enable=yes (虚拟用户可以登陆)  
  12.  
  13.   Guest_username=所设的用户名 (将虚拟用户映射为本地用户)  
  14.  
  15.   User_config_dir=/任意指定的路径/为用户策略自己所建的文件夹 (指定不同虚拟用户配置文件的路径)  
  16.  

  又是一组

  1.   Chown_uploads=yes (改变上传文件的所有者为root)  
  2.  
  3.   Chown_username=root 
  4.  

  又是一组

  1.   Deny_email_enable=yes (是否允许禁止匿名用户使用某些邮件地址)  
  2.  
  3.   Banned_email_file=//任意指定的路径/xx/  
  4.  

  又是单的

  1.   Pasv_enable=yes ( 服务器端用被动模式)  
  2.  
  3.   User_config_dir=/任意指定的路径//任意文件目录 (指定虚拟用户存放配置文件的路径)  

【编辑推荐】

  1. Linux下vsftp服务器配置
  2. 怎样限制vsFTP服务器链接数
  3. Linux下配置vsftpd
  4. vsFTPD设置(菜鸟篇)
  5. vsftpd安装篇
  6. vsftpd 启动篇
  7. Linux下vsftpd的配置
  8. 如果SELinux拒绝vsftpd上传文件到用户主目录怎么办
  9. vsFTPd常用功能之限速和限制链接点
责任编辑:zhaolei 来源: CSDN
相关推荐

2011-02-22 13:28:43

Linuxvsftpd配置

2011-02-23 15:50:04

Linuxvsftpd

2011-02-23 17:23:35

linux vsftpd

2011-02-23 16:25:51

linuxvsftpd

2011-02-23 15:50:04

Linuxvsftpd

2009-10-28 08:31:02

Vsftpd服务器故障

2009-10-28 09:49:32

linux Vsftp

2011-03-04 09:40:36

Vsftpd文件

2011-03-07 09:11:31

Vsftpd档案

2011-03-02 09:52:03

2011-02-24 10:18:41

CentOS配置vsftpd

2011-03-01 09:44:04

ubuntuvsftpd

2011-03-04 09:32:30

Vsftpd目录

2011-02-23 16:09:48

2011-02-23 16:08:24

LinuxvsftpdFTP

2011-02-23 16:04:32

LinuxvsftpdFTP

2011-03-02 13:23:42

Vsftpd配置

2011-03-01 13:18:59

vsFTPd启动关闭

2011-03-04 11:04:21

Vsftpd日志文件

2015-08-25 14:34:20

LinuxvsftpdFTP
点赞
收藏

51CTO技术栈公众号