创设FTP文件传输服务器

图片 5
亚洲城ca88手机版官网

FTP全名是File Transfer Protocol(文件传输协议) C/S架构

FTP全名是FileTransfer Protocol(文件传输协议) C/S架构

? 创建基于基本用户的vsftpd服务

简介:

简介:

匿名FTP

上边是有关FTP那个服务的习性

下边是关于FTP那些服务的品质

  1. 调动无名氏用户上传目录权限,并预备下载测试文件

(一)FTP服务相关软件

(一)FTP服务相关软件

# chown ftp /var/ftp/pub

   IIS Serv-U Vsftpd proftpd pureftpd

   IISServ-U Vsftpd proftpd
pureftpd

  1. 修改vsftpd.conf配置文件,开放无名氏用户访问权限、上传许可

(二)FTP客户端相关软件

(二)FTP客户端相关软件

# vi /etc/vsftpd/vsftpd.conf

   ftp命令 CuteFTP FlashFTP LeapFTP Filezilla gftp kuftp

   ftp命令 CuteFTP FlashFTP LeapFTP Filezilla
gftp kuftp

anonymous_enable=YES //允许无名氏访问

(叁)VSFTP的医生和护师进程

(三)VSFTP的照拂进度

local_enable=NO //不供给启用本地用户时,提出将此项设置为NO

   /usr/sbin/vsftpd

   /usr/sbin/vsftpd

write_enable=YES //允许开垦写权限

(4)FTP的开发银行脚本

(4)FTP的运行脚本

anon_umask=02二 //无名用户上传文件的权柄掩码

   /etc/init.d/vsftpd

   /etc/init.d/vsftpd

anon_upload_enable=YES //允许佚名用户上传文件

(5)FTP的端口

(5)FTP的端口

anon_mkdir_write_enable=YES //允许无名用户有写权限

   TCP协议的20,2一端口与客户端举行通讯

   TCP协议的20,二壹端口与客户端举行通讯

anon_other_write_enable=YES
//允许佚名用户有其余写权限(慎用,大概带来安全隐患)

      20用来建构数量连接,传输文件数量。(数据端口)

      20**用来创建数量连接,传输文件数量。(数据端口)**

dirmessage_enable=YES

      二1用以创立调节连接,并传导FTP调整命令。(命令端口)

      二1用以创设调节连接,并传导FTP调整命令。(命令端口)

xferlog_enable=YES

 (陆)用户调节列表文件

 (陆)用户调节列表文件

connect_from_port=20

/etc/vsftpd/ ftpusers  文件中的用户禁止登入FTP服务器(黑名单)

/etc/vsftpd/ftpusers 文件中的用户禁止登入FTP服务器(黑名单)

xferlog_std_format=YES

/etc/vsftpd/ user_list
文件中的用户可能被明确命令禁止或同意登入FTP服务器,具体看vsftpd.conf的安装

/etc/vsftpd/user_list 文件中的用户或者被禁止或同意登陆FTP服务器,具体看vsftpd.conf的装置

listen=YES

(七)事业形式

(七)职业模式  

pam_service_name=vsftpd

      当仁不让格局:

      主动形式:

userlist_enable=NO //未启用本地用户时,能够将用户列表功用禁止使用

          
客户端想服务端二壹端口发送创立连接请求,要求传输数据时,客户端会通过port命令告诉服务器自个儿监听的端口,服务器会主动通过20端口与客户端创建数量连接。

           客户端想服务端二一端口发送建构连接请求,需求传输数据时,客户端会通过port命令告诉服务器本人监听的端口,服务器会主动通过20端口与客户端创设数量连接。

tcp_wrapper=YES

 

 

  1. 重启服务

  2. 客户端下载测试

     

     

# ftp 192.168.10.1

     被动格局

     被动形式

# ftp

          
客户端想服务端二壹端口发送建构连接请求,需求传输数据时,

           客户端想服务端二壹端口发送建设构造连接请求,要求传输数据时,

# ls

服务器以pasv命令告诉客户自己展开了某些端口(非20端口),你来一连笔者,客户端会像服务器的非20端口建构数量连接

服务器以pasv命令告诉客户本身张开了有些端口(非20端口),你来一而再笔者,客户端会像服务器的非20端口创设数量连接

# get ftpconfig.tar.bz2

  

  

# cd pub

 (八)依据传输文件是否进行字符调换分为:

 (捌)依据传输文件是不是开始展览字符转变分为:

# put install.log / wget ftp://1九二.16八.10.1/ftpconfig.tar.ba2(只是下载时)

    文本形式(又称之为ASCII)以文件种类传输数据,用的较多

   
文件形式(又称作ASCII)以文件类别传输数据,用的较多

# ls

    二进制情势(又称作Binary方式)以贰进制连串传输数据

   
二进制形式(又称为Binary方式)以二进制系列传输数据

# quit/bye

 

 

本地FTP

 

 

  1. 加多测试用户

主配置文件

主配置文件

# useradd wang

/etc/vsftpd/vsftpd.conf

/etc/vsftpd/vsftpd.conf 

# passwd wang

 

 

# ls -lh /etc/*.conf* >/home/wang/etcconf.list

 

 

  1. 修改配置文件

 

 

anonymous_enable=NO //若不须要启用无名氏访问,此项设为NO

搭建FTP服务:

搭建FTP服务:

local_enable=YES //允许本地用户访问

  1、搭建yum仓库

  1、搭建yum仓库

write_enable=YES //开辟写权限

   (1)mount /dev/cdrom /mnt

   (1)mount/dev/cdrom /mnt

local_umask=02二 //本地用户上传文件的权力掩码

   (2)cat /etc/yum.repos.d/rhel-debuginfo.repo

   (2)cat
/etc/yum.repos.d/rhel-debuginfo.repo

chroot_local_enable=YES //将本地用户软禁在宿主目录中,处于安全思虑

   [rhel-Server]

   [rhel-Server]

max_clients=20 //限制客户端并发客户端连接数最多为20

   name=Red Hat Enterprise Server

   name=Red Hat Enterprise
Server

max_per_ip=二 //今后源于同1IP客户端的最大并发连接数

   baseurl=file:///mnt/Server

  
baseurl=file:///mnt/Server

local_max_rate=拾二伍仟 //本地用户上传下载限制速度为1M/s

   enabled=1

   enabled=1

pasv_enable=YES //允许被动格局并设置端口范围

   gpgcheck=0

   gpgcheck=0

pasv_min_port=24500

  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

pasv_max_port=24600

 

 

dirmessage_enable=YES

   2、安装

   2**、安装**

xferlog_enable=YES

      yum -y install vsftpd*

      yum-y install
vsftpd*

connect_from_port=20

 

 

xferlog_std_format=YES

配置选项讲授

陈设选项讲授

listen=YES

实验1

实验1

pam_service_name=vsftpd

  1. 1.  创办测试文件
  2. 2.  无名氏用户ftp对/var/ftp/pub有写入权限
  3. 3.  同意无名氏用户浏览
  4. 4.  同意用户(佚名,本地,虚拟)有上传权限
  5. 5.  同意佚名用户有上传权限
  6. 6.  同意佚名用户有上传文件夹权限
  7. 7.  明确命令禁止佚名用户有删除,覆盖等权限

一. 
创设测试文件

userlist_enable=YES

 

二. 
无名氏用户ftp对/var/ftp/pub有写入权限

tcp_wrapper=YES

(1)查看ftp的暗中同意根路线,暗中同意是有贰个pub目录(暗许的跟目录),

三. 
同意无名氏用户浏览

  1. 重启服务

    [root@Centos2 ~]# ls /var/ftp/

四. 
同意用户(无名氏,本地,虚拟)有上传权限

# service vsftpd restart

   pub

5. 
同意佚名用户有上传权限

  1. 在客户端验证(此处验证不再复述)

(二)备份配置文件

六. 
允许无名氏用户有上传文件夹权限

树立遵照虚拟用户的vsftpd服务

cd /etc/vsftpd/vsftpd.confg

7. 
取缔无名氏用户有删除,覆盖等权限

  1. 确立虚拟用户名/密码数据库

   cp vsftpd.conf vsftpd.bak

 

# rpm -ivh –aid –nodeps db4-utils-4.3.29-9.fc6.i386.rpm

   vim vsftpd.conf

(一)查看ftp的私下认可根路线,暗中同意是有2个pub目录(私下认可的跟目录),

# vi /mima

   剧情如下

    [root@Centos2~]# ls
/var/ftp/

wang //奇数行用户名

write_enable=YES

   pub

1二叁 //偶数行密码

anon_umask=022

(2)备份配置文件

nan

anonymous_enable=YES

cd /etc/vsftpd/vsftpd.confg

123

anon_upload_enable=YES

   cp vsftpd.conf
vsftpd.bak

# db_load -T -t hash -f /mima /etc/vsfpd/vusers.db

anon_mkdir_write_enable=YES

   vim vsftpd.conf

-T : 允许非Berkeley DB的应用程序从文本格式转换的DB数据文件

anon_other_write_enable=NO
是或不是同意无名氏用户有别的写入权(改名,删除,覆盖)

   内容如下

-t hast :钦赐读取数据文件的艺术

dirmessage_enable=YES

write_enable=YES

-f : 用于钦命用户名/密码文件列表

xferlog_enable=YES

anon_umask=022

# file /etc/vsftpd/vusers.db

connect_from_port_20=YES

anonymous_enable=YES

# chmod 600 /etc/vsftpd/vusers.db

xferlog_std_format=YES

anon_upload_enable=YES

  1. 创制FTP访问的根目录及虚拟用户对应的连串账号

listen=YES

anon_mkdir_write_enable=YES

# useradd -d /var/ftproot -s /sbin/nologin mei
//创立映射账户mei并点名宿主目录

pam_service_name=vsftpd

anon_other_write_enable=NO
是或不是同意无名用户有任何写入权(改名,删除,覆盖)

# chmod 75五 /var/ftproot //更换FTP更目录权限

userlist_enable=YES

dirmessage_enable=YES

# ls -lh /boot > /var/ftproot/vutest.list //建设构造测试文件

tcp_wrappers=YES

xferlog_enable=YES

  1. 树立PAM认证文件

(三)运营服务

connect_from_port_20=YES

# vi /etc/pam.d/vsftpd.vu

   service vsftpd start

xferlog_std_format=YES

auth required pam_userdb.so db=/etc/vsftpd/vusers

(四)改换根目录的属主,假设不改动的话,只好访问,别的权限不能够奏效。因为我们是以ftp用户的身价访问的,而pub暗中认可的属主属组是root。

listen=YES

account required pam_userdb.so db=/etc/vsftpd/vusers

   chown ftp /var/ftp/pub

pam_service_name=vsftpd

  1. 修改vsftpd配置文件,增多用户协助

 

userlist_enable=YES

anonymous_enable=NO //若不须要启用无名氏访问,此项设为NO

验证:

tcp_wrappers=YES

local_enable=YES //使用虚拟用户,须要启用本地用户

   在网络大概总结中输入ftp地址:格式如下图。

(三)运转服务

anon_umask=022

   我们相会到暗中认可的pub目录。

   service vsftpd
start

write_enable=YES

 图片 1

(四)改动根目录的属主,尽管不转移的话,只可以访问,其余权限不能够立竿见影。因为大家是以ftp用户的地位访问的,而pub暗中认可的属主属组是root。

guest_enable //启用用户映射作用

 

   chown ftp /var/ftp/pub

guest_username=mei //将映射用户内定为mei

进去到pub目录下,能够成立和上传测试目录了。如图二

 

dirmessage_enable=YES

图片 2

验证:

xferlog_enable=YES

只顾:(一)修改完配置之后须求重启完服务才干见效

   在网络恐怕总计中输入ftp地址:格式如下图。

connect_from_port=20

     
(2)还需求从新从客户端登入,不然修改后的布局看不到效果。

   我们会面到暗中认可的pub目录。

xferlog_std_format=YES

 

 

listen=YES

实验2

进入到pub目录下,能够创制和上传测试目录了。如图二

pam_service_name=vsftpd.vu //修改使用的PAM文件地点

  1.   成立测试帐号u一、u2、u三密码都为“user”
  2.  允许本地用户访问
  3.  将权力掩码设为07柒
  4.   将本地帐号拘押在宿主目录中
  5.   只允许u壹、u贰五个用户能够登陆

userlist_enable=YES

 

专注:(壹)修改完配置之后要求重启完服务手艺奏效

tcp_wrapper=YES (到此即能够访问)

创办测试用户,并且安装密码

     
(二)还亟需从新从客户端登入,不然修改后的配置看不到效果。

  1. 为不一致的用户创建单独的陈设文件

[root@crushlinux ~]# useradd u1

 

# vi /etc/vsftpd/vsftpd.conf

[root@crushlinux ~]# echo “user” |passwd –stdin u1

实验2

# user_config_dir=/etc/vsftpd/vusers_dir
//增添此行配置项,钦定用户配置目录

[root@crushlinux ~]# useradd u2

1. 
创设测试帐号u一、u二、u三密码都为“user”

# mkdir /etc/vsftpd/vusers_dir/ //创设用户配置目录

[root@crushlinux ~]# echo “user” |passwd –stdin u2

二. 
允许当地用户访问

# cd /etc/vsftpd/vusers_dir

[root@crushlinux ~]# useradd u3

3. 
将权力掩码设为077

# vi wang

[root@crushlinux ~]# echo “user” |passwd –stdin u3

四. 
将当地帐号幽禁在宿主目录中

anon_upload_enable=YES

 

5. 
只同意u壹、u二多个用户能够登6

anon_mkdir_write_enable=YES

在布署文件中进入深黑部分剧情

 

anon_other_write_enable=YES

[root@crushlinux ~]# vi /etc/vsftpd/vsftpd.conf

创建测试用户,并且安装密码

anon_max_rate=1000000

 

[root@crushlinux ~]# useradd
u1

# vi mei (配置在此省略)

local_enable=YES

[root@crushlinux ~]# echo
“user” |passwd –stdin u1

  1. 重启服务

local_umask=077

[root@crushlinux ~]# useradd
u2

# service vsftpd restart

chroot_local_user=YES

[root@crushlinux ~]# echo
“user” |passwd –stdin u2

  1. 动用虚拟用户访问FTP,验证

write_enable=YES

[root@crushlinux ~]# useradd
u3

图片 3

dirmessage_enable=YES

[root@crushlinux ~]# echo
“user” |passwd –stdin u3

xferlog_enable=YES

 

connect_from_port_20=YES

在安排文件中出席赤褐部分剧情

xferlog_std_format=YES

[root@crushlinux ~]# vi
/etc/vsftpd/vsftpd.conf

listen=YES

 

pam_service_name=vsftpd

local_enable=YES

userlist_enable=YES

local_umask=077

userlist_deny=NO

chroot_local_user=YES

tcp_wrappers=YES

write_enable=YES

 

dirmessage_enable=YES

 

xferlog_enable=YES

 

connect_from_port_20=YES

将同意登入的用户进入到白名单中

xferlog_std_format=YES

 

listen=YES

vi /etc/vsftpd/user_list

pam_service_name=vsftpd

u1

userlist_enable=YES

u2

userlist_deny=NO

 

tcp_wrappers=YES

service vsftpd restart

 

 

 

登入验证

 

   格式为:ftp://用户名:密码@ftpIP地址

将同意登录的用户进入到白名单中

 图片 4

 

 

vi /etc/vsftpd/user_list

登录上暗许是空白的,因为那是用户的家目录。

u1

 

u2

用u3用户登录,会报错误(windows不一样系统报错不会完全一致):

 

 图片 5

service vsftpd restart

 

 

实验3

登录验证

营造基于虚拟用户的FTP服务

   格式为:ftp://用户名:密码@ftpIP地址

创办账号数据

 

   壹.手无寸铁虚拟FTP用户的帐号数据库文件

登录上默许是空荡荡的,因为那是用户的家目录。

   2.创建FTP根目录及虚拟用户映射的系统用户

 

   3.起家补助虚拟用户的PAM认证文件

用u叁用户登录,会报错误(windows不一致系统报错不会完全1致):

加多虚拟用户支持

 

   四.在vsftpd.conf文件中加上协理配置

实验3

   5.为独家虚拟用户构建独立的安插文件

创设基于虚拟用户的FTP服务

运营服务并测试

创办账号数据

   六.重新加载vsftpd配置

   一.手无寸铁虚拟FTP用户的帐号数据库文件

   七.利用虚拟FTP账户访问测试

   二.开立FTP根目录及虚拟用户映射的系统用户

 

   三.成立扶助虚拟用户的PAM认证文件

实验部分

增加虚拟用户协助

一.确立虚拟FTP用户的帐号数据库文件用到db_load工具先安装软件包

   四.在vsftpd.conf文件中充足扶助配置

   rpm -ivh db4-utils-4.7.25-17.el6.x86_64.rpm

   伍.为各自虚拟用户建构单独的布置文件

   cd /etc/vsftpd/

开始服务并测试

贰、成立虚拟用户文件

   6.重新加载vsftpd配置

   vim user

   7.利用虚拟FTP账户访问测试

   a

 

   1

尝试部分

   b

1.制造虚拟FTP用户的帐号数据库文件用到db_load工具先安装软件包

   1

   rpm -ivh
db4-utils-4.7.25-17.el6.x86_64.rpm

   c

   cd/etc/vsftpd/

   1

贰、创造虚拟用户文件

  

   vim user

   基数行代表用户名,偶数行代表密码

   a

 

   1

通过db_load工具成立出Berkeley DB格式的数据库文件

   b

  

   1

   db_load -T -t hash -f user user.db

   c

  

   1

 

  

    -f 钦点数量原来的小说件

   基数行代表用户名,偶数行代表密码

   -T 允许非Berkeley DB的应用程序使用文本格式调换的DB数据文件

 

   -t hash  读取文件的基本措施

通过db_load工具创造出Beck雷 DB格式的数据库文件

3、创设虚拟用户对应的体系用户

  

   useradd -s /sbin/nologin vu

   db_load -T -t hash -f
user user.db

四、创设帮助虚拟用户的PAM认证文件

  

vi /etc/pam.d/vsftpd.vu

 

加盟以下两行

    -f 钦赐数量原来的文章件

auth       required     /lib64/security/pam_userdb.so
db=/etc/vsftpd/user

   -T 允许非Beck雷 DB的应用程序使用文本格式转换的DB数据文件

account    required     /lib64/security/pam_userdb.so
db=/etc/vsftpd/user

   -t hash 读取文件的中坚措施

对应刚才生成user.db的文件

3、创制虚拟用户对应的系统用户

五、在vsftpd的配备文件中扶助虚拟用户

   useradd -s /sbin/nologin
vu

只顾:在做虚拟用户的时候,一定要去掉userlist_deny=NO

肆、建构补助虚拟用户的PAM认证文件

这些选项,不然会显得用户验证退步

vi/etc/pam.d/vsftpd.vu

vi /etc/vsftpd/vsftpd.conf

投入以下两行

guest_enable=YES            启用用户映射功用

auth       required    
/lib64/security/pam_userdb.sodb=/etc/vsftpd/user

guest_username=vu     钦赐映射的体系用户名称

account   
required    /lib64/security/pam_userdb.so db=/etc/vsftpd/user

pam_service_name=vsftpd.vu   钦赐新的PAM认证文件

对应刚才生成user.db的公文

local_enable=YES

伍、在vsftpd的布局文件中支持虚拟用户

local_umask=077

留神:在做虚拟用户的时候,一定要去掉userlist_deny=NO

chroot_local_user=YES 
若果紫褐三条配置未有的话就会报错:用户身份验证退步

以此选项,不然会来得用户验证退步

 

vi
/etc/vsftpd/vsftpd.conf

virtual_use_local_privs=YES

guest_enable=YES          
启用用户映射功用

假若未有那条配置的话上传将会展现错误.这条最首要

guest_username=vu      点名映射的系统用户名称

还要注意每行配值的最后不要有空行,不然也会有报错

pam_service_name=vsftpd.vu    钦赐新的PAM认证文件

 

local_enable=YES

 

local_umask=077

 

chroot_local_user=YES 
若是浅土红三条配置未有的话就会报错:用户身份验证失利

陆.为独家虚拟用户建构独立的安插文件

 

vi /etc/vsftpd/vsftpd.conf   参与下边1行

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/user_dir 
用户配置目录支持

假使未有那条配置的话上传将会显得错误.这条最根本

为用户a、b创建单独的配备目录及文件 那一行也是必须有的

还要注意每行配值的最终不要有空行,不然也会有报错

 

 

 mkdir /etc/vsftpd/user_dir

 

cd /etc/vsftpd/user_dir

 

vim a

陆.为独家虚拟用户创建单独的布署文件

local_root=/test  
规定了a用户的根目录 
留神:一定要把目录的属主改为虚拟用户对应的系统用户。

vi
/etc/vsftpd/vsftpd.conf  插足下边一行

 

user_config_dir=/etc/vsftpd/user_dir用户配置目录补助

mkdir /test

为用户a、b建立单独的布局目录及文件这一行也是必须有的

 

 

私下认可正是全部权限

 mkdir
/etc/vsftpd/user_dir

 

vim a

 

local_root=/test  
显著了a用户的根目录  注意:一定要把目录的属主改为虚拟用户对应的种类用户。

总计:本地用户和编造用户不可能同时登入、因为证实况势唯有一种

 

本地是pam_service_name
=vsftpd

 

虚拟是pam_service_name
=vsftpd.vu 

暗中同意正是有着权力

 

 

实验4

 

1    修改vsftpd服务的监听地址,端口

总括:本地用户和编造用户无法同时登入、因为证实方法唯有1种

       1.1  IP为:192.168.200.129

本地是pam_service_name =vsftpd

        1.2  端口为:2121

虚拟是pam_service_name=vsftpd.vu 

2    运用vsftpd服务的被动格局

 实验4

     2.1  下限端口为24500

一   修改vsftpd服务的监听地址,端口

     2.2  上限端口为24600

1.1 
IP为:192.168.200.129

3    界定vsftpd服务的并发数,传输速度

1.2 
端口为:2121

      3.1  范围并发客户连接最多200

2   使用vsftpd服务的被动格局

      3.2  范围每种IP地址的连接数最多50

二.1 
下限端口为24500

      3.3  范围无名用户传输速率为50KB/s

二.二 
上限端口为24600

      3.4  范围本地用户传输速率为200KB/s

三   限制vsftpd服务的并发数,传输速度

[root@crushlinux ~]# netstat -naptu |grep “vsftpd”

叁.一 
限制并发客户连接最多200

[root@crushlinux ~]# vi /etc/vsftpd/vsftpd.conf

三.贰 
限制种种IP地址的连接数最多50

listen=YES

三.三 
限制无名氏用户传输速率为50KB/s

listen_address=192.168.200.129

三.四 
限制本地用户传输速率为200KB/s

listen_port=2121

[root@crushlinux ~]#
netstat-naptu |grep “vsftpd”

 

[root@crushlinux ~]#
vi/etc/vsftpd/vsftpd.conf

pasv_enable=YES

listen=YES

pasv_min_port=24500

listen_address=192.168.200.129

pasv_max_port=24600

listen_port=2121

 

 

max_clients=200

pasv_enable=YES

max_per_ip=50

pasv_min_port=24500

anon_max_rate=50000

pasv_max_port=24600

local_max_rate=200000

 

 

max_clients=200

[root@crushlinux ~]# service vsftpd restart

max_per_ip=50

[root@crushlinux ~]# netstat -naptu |grep “vsftpd”

anon_max_rate=50000

tcp        0      0 192.168.200.129:2121       
0.0.0.0:*                   LISTEN      3552/vsftpd   

local_max_rate=200000

 

 

 

[root@crushlinux ~]#
servicevsftpd restart

[root@crushlinux ~]#
netstat-naptu |grep “vsftpd”

tcp        0      0
192.168.200.129:2121        0.0.0.0:*                   LISTEN     
3552/vsftpd   

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图