LINUX下搭建FTP服务器

avatar
作者
筋斗云
阅读量:10

FTP服务器介绍

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。

基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

一般在各种linux的发行版中,默认带有的ftp软件是vsftp,从各个linux发行版对vsftp的认可可以看出,vsftp应该是一款不错的ftp软件。

搭建Linux FTP步骤(1)检查vsftpd软件是否安装

使用如下命令可以检测出是否安装了vsftpd软件,rpm -qa |grep vsftpd ,例如在我的centos 5.6中显示的结果如下:

如果没有安装的话,可以下载安装,也可以使用软件源进行安装。这里不再赘述。

2)vsftpd软件的使用

1)使用vsftpd软件,主要包括如下几个命令:

启动ftp:service vsftpd start

停止ftp:service vsftpd stop

重启ftp:service vsftpd restart

退出命令提示符快捷键_退出命令符的指令_ftp linux 命令 退出

2)或者使用带有路径的命令:

ftp linux 命令 退出_退出命令符的指令_退出命令提示符快捷键

(3)vsftpd的配置

ftp的配置文件主要有三个,在centos5.6中位于/etc/vsftpd/目录下,分别是:

1)ftpusers 该文件用来指定那些用户不能访问ftp服务器。

2)user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp

3)vsftpd.conf vsftpd的主配置文件

(4)下面我们使用vi编辑vsftpd的主配置文件:vsftpd.conf文件。

etc/vsftpd/vsftpd.conf是vsftpd的主要配置文件,在此文件中以#开头的行是注释行,默认设置如下:

anonymous_enable=YES

#是否允许匿名登录ftp,YES表示允许。

#local_enable=YES

#是否允许本地用户登录,本地用户即/etc/passwd内帐号,YES表示允许。

#write_enable=YES

#是否开放写权限。

#local_umask=022

#设置本地用户的文件的掩码是022。

#anon_upload_enable=YES

#是否允许匿名用户上传文件。

#anon_mkdir_write_enable=YES

#是否允许匿名用户创建文件夹。

dirmessage_enable=YES

#当使用者进入某个目录时,会显示该目录需要注意的内容,显示的档案预设是.message ,需要手工在该目录下创建,当然,可以使用message_file设定项目来修订!

xferlog_enable=YES

#激活上传下载日志,由xferlog_file决定日志文件名。

connect_from_port_20=YES

#启用FTP数据端口的连接请求(ftp-data)。

#chown_uploads=YES

#是否改变上传文件的属主,这个属主可以由chown_username决定。

#chown_username=whoever

#当chown_uploads值为YES时,上传文件的属主就是chown_username定义的值了。

#xferlog_file=/var/log/vsftpd.log

#当xferlog_enable的值为YES时,日志将记录在xferlog_file定义的文件中。

#xferlog_std_format=YES

#是否使用标准的ftp xferlog模式。

#idle_session_timeout=600

#如果使用者在600秒内都没有命令动作,强制离线!

#data_connection_timeout=120

#如果数据传送在120秒内都无法传送成功,那客户端的联机就会被vsftpd强制剔除!

#nopriv_user=ftpsecure

#运行vsftpd需要的非特权系统用户,默认是nobody。

#async_abor_enable=YES

#当设置为允许时,一个特别的FTP命令“异步退出”将生效。

#ascii_upload_enable=YES

#是否允许使用ascii码方式上传文件。

#ascii_download_enable=YES

#是否允许使用ascii码方式下载文件。

#ftpd_banner=Welcome to blah FTP service.

#定制欢迎信息。

#deny_email_enable=YES

#是否禁止匿名用户使用某些邮件地址。

#banned_email_file=/etc/vsftpd/banned_emails

#当deny_email_enable=YES时,可以利用这个设定项目来规定那个email address 不可登入vsftpd ,在上面设定的档案内,一行输入一个email address 即可!

#chroot_local_user=YES

#是否将所有使用者限制在自己的家目录之内(chroot)。

#chroot_list_enable=YES

#是否启用将某些用户限制在它们的家目录内。

#chroot_list_file=/etc/vsftpd/chroot_list

#如果chroot_list_enable=YES时,可以设定哪些用户会被限制在自己的家目录内而无法离开(chroot),一行一个账号即可!

#ls_recurse_enable=YES

#是否允许使用ls -R等命令。

listen=YES

#开启ipv4监听

#listen_ipv6=YES

#开启ipv6监听。

pam_service_name=vsftpd

#使用pam模块控制,vsftpd文件在/etc/pam.d目录下。

userlist_enable=YES

#此选项被激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。当列表中的用户登录FTP服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后,vsftpd就直接禁止掉该用户,不会再进行询问密码等后续步骤。

tcp_wrappers=YES

#是否允许tcp_wrappers管理。

一般配置的话:

以下几项需要去掉前面的#号:

anonymous_enable=YES

local_enable=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

本配置开通了匿名访问、匿名上传和下载等功能。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!