当前位置 : 主页 > 网络编程 > 其它编程 >

在linux系统下搭建FTP服务器

来源:互联网 收集:自由互联 发布时间:2023-07-02
第一部分:理论一FTP服务器基本原理1.基本概念:ftp文件传输协议:filetransportprotocol2.传输模式:主动模式和被动模式3.使用端口A.主动     第一部分:理论 一FTP服务器基本原理  1.基本概念:f
第一部分:理论一FTP服务器基本原理1.基本概念:ftp文件传输协议:filetransportprotocol2.传输模式:主动模式和被动模式3.使用端口A.主动

 

 

第一部分:理论

一FTP服务器基本原理 

1.基本概念:ftp文件传输协议:file   transport   protocol

2.传输模式:主动模式和被动模式

3.使用端口 A. 主动模式命令控制21   数据传输20

          B. 被动模式命令控制21   数据传输1024之后的随机端口 

二常用FTP服务器软件 

Windows下iis serverU

Linux下wu-ftp   proftp   vsftp

三常用的服务器端软件 vsftp——本章的重中之重very security  file  transport  protocol

四常用ftp客户端软件

 1.特点

FTP客户端软件的特点

运行在图形环境下的窗口程序

可使用鼠标和通过菜单进行操作

用户界面友好操作方便

       2.常用FTP客户端软件

CuteFTP, leapftp, flashxp是Windows下流行的商业软件

Filezilla是Windows下运行的开源软件

gftp是Linux中GNOME桌面环境中运行的FTP客户端软件是GNOME的重要组成部分

五vsftpd.conf中常用的配置参数

anonymous_enableYES  启用匿名用户

local_enableYES        启用本地用户

write_enableYES        启用本地用户写权限

local_umask022         本地用户生成文件的掩码上传的文件权限是644

如果上传文件夹总权限777;文件666(可以用file_open_mode0777)

dirmessage_enableYES  dirmessage_enable设置为“YES”时当切换到FTP服务器中的某个目录时将显示该目录下的.message隐含文件的内容

xferlog_enableYES   xferlog_enable设置为“YES”时FTP服务器将启用上传和下载日志

(日志文件:/var/log/xferlog)

connect_from_port_20YES   connect_from_port_20设置为“YES”时FTP服务器将启用FTP数据端口的连接请求

xferlog_std_formatYES     xferlog_std_format设置为“YES”时FTP服务器将使用标准的ftpd xferlog日志格式

pam_service_namevsftpd     pam_service_name设置PAM认证服务的配置文件名称

userlist_enableYES          userlist_enable设置为“YES”时FTP服务器将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器

(userlist_enableYES  userlist_denyNO 表示vsftpd.user_list中用户可以登录)

(userlist_enableYES  userlist_denyYES 表示改文件中用户不可以登录)

(默认情况下,userlist_denyyes 也就说写到vsftpd.user_list里面的用户不能登录)

listenYES 设置为yes时ftp以独立方式启动否则以超级进程的方式启动

tcp_wrappersYES    tcp_wrappers设置为“YES”时FTP服务器将使用tcp_wrappers作为主机访问控制方式 

chroot_local_userYES  限制本地用户禁锢在宿主目录里面

max_clients100 最大客户端

max_per_ip5   每个ip的最大连接数

local_max_rate500000  本地用户最大传输速率  (单位byte)

anon_max_rate200000  匿名用户最大传输速率

listen_port2121   更改ftp默认端口号

六/etc/vsftpd.ftpusers用于保存不允许进行FTP登录的本地用户帐号

七/etc/vsftpd.user_list文件具有对vsftpd服务器更灵活的用户访问控制

     如果想让该文件中的用户禁止登陆ftp服务器,则

       userlist_enableYES

userlist_denyYES

    如果想让该文件中的用户允许登陆ftp服务器,则

userlist_enableYES

userlist_denyNO

八vsftpd中支持的用户类型 

1.匿名用户匿名用户名称ftp和anonymous 

2.系统用户系统当中实际存在的用户

3.虚拟用户非系统用户

第二部分实验

实验一测试匿名用户和系统用户

1. 安装ftp软件包rpm  –ivh  vsftpd……

2. 启动ftp服务service   vsftpd   start 

3. 在客户端登陆ftp测试。

A 在cmd里面用测试命令 ftp  服务器ip

B 用客户端登陆测试 windows客户端flashxp, cuteftp, leapftp

                 Linux   客户端gftp先安装gftp软件包

实验二虚拟用户的支持

1. 建立虚拟用户口令库文件奇数行是用户名偶数行是密码

进入/etc/vsftpd 目录然后新建文件benet

2. 生成vsftpd的认证文件(需要安装db4-util,系统镜像里面有书上没介绍)

db_load -T -t hash -f  /etc/vsftpd/benet  /etc/vsftpd/benet.db

3. 建立虚拟用户所需的PAM配置文件(/etc/pam.d/)

进入/etc/pam.d然后建立文件ftp内容如下

      auth required /lib/security/pam_userdb.so  db/etc/vsftpd/benet(库名)

account required  /lib/security/pam_userdb.so db/etc/vsftpd/benet库名

4. 建立虚拟用户所需要的系统用户

useradd   aa  -d  /aa(虚拟用户主目录)  -s  /sbin/nologin

5. 建立虚拟用户所要访问的目录并设置相应权限(修改主目录权限700)

chmod    700  -R   /aa

6. 设置/etc/vsftpd/vsftpd.conf配置文件,在文档末尾添加如下内容

   guest_enableYES 

guest_usernameaa新建的系统用户

pam_service_nameftp(验证模块名称) 

   user_config_dir/etc/vsftpd/config 虚拟用户权限的配置目录

7. 进入/etc/vsftpd/config新建文件1122。这两个文件就是11和22用户的权限配置文件下面的参数就是具体的可能用的参数

anon_world_readable_onlyNO    表示用户可以浏览FTP目录和下载文件

anon_upload_enableYES        表示用户可以上传文件

anon_mkdir_write_enableYES    表示用户具有建立目录的权限不能删除目录

anon_other_write_enableYES    表示用户具有文件改名和删除文件的权限

local_root/                  指定虚拟用户的目录

8 . 给aa用户浏览和下载的权限给bb用户浏览上传下载删除的权限。

补充实验

1. 如何实现匿名用户上传。

在/var/ftp/下新建目录来实现上传。

2. 如何限制本地任意切换主目录。

chroot_local_user  YES

3. 虚拟虚拟用户aa权限设置 可上传可建立文件夹可删除文件夹最大传输速率0.5MB,登陆目录为/ftpsite

用到得主要参数

local_root/ftpsite

anon_world_readable_onlyNO

anon_upload_enableYES

anon_mkdir_write_enableYES

anon_other_write_enableYES

anon_max_rate500000

转:https://blog.51cto.com/crazylinuxwin/507673

上一篇:想要去学习java要多久
下一篇:没有了
网友评论