搭建ftp环境

对于搭建ftp环境是新手最早要接触的一个部分,在搭建之前,我看了很多资料搜索了很多关于这块的配置和解说,大部分都是大同小异的,很多可能对于刚刚接触的人来说还是有一点点的难理解,但是在经过自己的摸索和朋友的指导后,基本对这块有了很多的认识。(最重要的是:不知道就要多找多问)直接开始说吧

  一般在各种linux的发行版中,默认带有的ftp软件是vsftp,从各个linux发行版对vsftp的认可可以看出,vsftp应该是一款不错的ftp软件。
(1)检查vsftpd软件是否安装
     使用如下命令可以检测出是否安装了vsftpd软件,rpm -qa |grep vsftpd,我的linux自带的就是vsftpd-2.2.2-6.el6.x86_64。
     linux <wbr>ftp搭建和创建用户登录
     如果没有安装的话可以百度直接下载,只要网速给力就好,都不是很大!!
    

(2)vsftpd软件的使用

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

                启动ftp:service vsftpd start

                停止ftp:service vsftpd stop

                重启ftp:service vsftpd restart

linux <wbr>ftp搭建和创建用户登录

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

 

linux <wbr>ftp搭建和创建用户登录

(3)vsftpd的配置

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

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

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

vsftpd.conf   vsftpd的主配置文件

linux <wbr>ftp搭建和创建用户登录


    (4)使用vi编辑vsftpd.conf文件

 1.vsftpd.conf文件说明

# Example config file /etc/vsftpd/vsftpd.conf

#

# The default compiled in settings are fairly paranoid. This sample file

# loosens things up a bit, to make the ftp daemon more usable.

# Please see vsftpd.conf.5 for all compiled in defaults.

#

# READ THIS: This example file is NOT an exhaustive list of vsftpd options.

# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's

# capabilities.

#

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).

anonymous_enable=YES  //是否允许anonymous登录FTP服务器,默认是允许的.

#

# Uncomment this to allow local users to log in.

local_enable=YES //是否允许本地用户登录FTP服务器,默认是允许

#

# Uncomment this to enable any form of FTP write command.

write_enable=YES  //是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许

#

# Default umask for local users is 077. You may wish to change this to 022,

# if your users expect that (022 is used by most other ftpd's)

local_umask=022 //设置本地用户的文件生成掩码为022,默认是077

#

# Uncomment this to allow the anonymous FTP user to upload files. This only

# has an effect if the above global write enable is activated. Also, you will

# obviously need to create a directory writable by the FTP user.

#anon_upload_enable=YES

#

# Uncomment this if you want the anonymous FTP user to be able to create

# new directories.

#anon_mkdir_write_enable=YES  //是否允许匿名账户在FTP服务器中创建目录

#

# Activate directory messages - messages given to remote users when they

# go into a certain directory.

dirmessage_enable=YES //激活目录信息,当远程用户更改目录时,将出现提示信息

#

# Activate logging of uploads/downloads.

xferlog_enable=YES  //启用上传和下载日志功能

#

# Make sure PORT transfer connections originate from port 20 (ftp-data).

connect_from_port_20=YES   //启用FTP数据端口的连接请求

#

# If you want, you can arrange for uploaded anonymous files to be owned by

# a different user. Note! Using "root" for uploaded files is not

# recommended!

#chown_uploads=YES

#chown_username=whoever

#

# You may override where the log file goes if you like. The default is shown

# below.

#xferlog_file=/var/log/vsftpd.log  //设置日志文件的文件名和存储路径,这是默认的

#

# If you want, you can have your log file in standard ftpd xferlog format

xferlog_std_format=YES//是否使用标准的ftpd xferlog日志文件格式

#

# You may change the default value for timing out an idle session.

#idle_session_timeout=600  //设置空闲的用户会话中断时间,默认是10分钟

#

# You may change the default value for timing out a data connection.

#data_connection_timeout=120//设置数据连接超时时间,默认是120.

#

# It is recommended that you define on your system a unique user which the

# ftp server can use as a totally isolated and unprivileged user.

#nopriv_user=ftpsecure

#

# Enable this and the server will recognise asynchronous ABOR requests. Not

# recommended for security (the code is non-trivial). Not enabling it,

# however, may confuse older FTP clients.

#async_abor_enable=YES

#

# By default the server will pretend to allow ASCII mode but in fact ignore

# the request. Turn on the below options to have the server actually do ASCII

# mangling on files when in ASCII mode.

# Beware that turning on ascii_download_enable enables malicious remote parties

# to consume your I/O resources, by issuing the command "SIZE /big/file" in

# ASCII mode.

# These ASCII options are split into upload and download because you may wish

# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),

# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be

# on the client anyway..

#ascii_upload_enable=YES

#ascii_download_enable=YES //是否允许使用ASCII格式来上传和下载文件

#

# You may fully customise the login banner string:

#ftpd_banner=Welcome to blah FTP service.//FTP服务器中设置欢迎登录的信息.

#

# You may specify a file of disallowed anonymous e-mail addresses. Apparently

# useful for combatting certain DoS attacks.

#deny_email_enable=YES

# (default follows)

#banned_email_file=/etc/vsftpd.banned_emails

#

# You may specify an explicit list of local users to chroot() to their home

# directory. If chroot_local_user is YES, then this list becomes a list of

# users to NOT chroot().

#chroot_list_enable=YES //如果希望用户登录后不能切换到自己目录以外的其它目录,需要设置该项,如果设置chroot_list_enable=YES,那么只允许/etc/vsftpd.chroot_list中列出的用户具有该功能.如果希望所有的本地用户都执行者chroot,可以增加一行:chroot_local_user=YES

# (default follows)

#chroot_list_file=/etc/vsftpd.chroot_list

#

# You may activate the "-R" option to the builtin ls. This is disabled by

# default to avoid remote users being able to cause excessive I/O on large

# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume

# the presence of the "-R" option, so there is a strong case for enabling it.

#ls_recurse_enable=YES

pam_service_name=vsftpd  //设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下.

userlist_enable=YES //用户列表中的用户是否允许登录FTP服务器,默认是不允许

#enable for standalone mode

listen=YES  //使vsftpd 处于独立启动模式

tcp_wrappers=YES  //使用tcp_wrqppers作为主机访问控制方式

 

      另外两个文件是将用户加入进去后就不能登录,这个按自己的要求去修改添加

  对于刚接触这块的时候可以不用修改上面的配置文件,不修改的话是匿名可以直接登入,不需要帐号和密码,可以先试试(有的可能在web上登入不上,检查下你的实体机和虚拟机的防火墙是否关闭,关闭后再测试)

  ftp://xxx.xxx.xx.xx

    六、添加用户 
    以上是对于匿名登录后的显示结果,添加帐号首先要对vsftpd.conf 编辑
    anonymous_enable=YES修改为anonymous_enable=NO  不允许匿名用户登录
 
    然后是添加用户
    useradd -d /home/test -g ftp test
    passwd test
    /etc/init.d/iptables stop     
    setenforce 0                关闭selinux
    /etc/init.d/vsftpd stop 
    /etc/init.d/vsftpd start 
    cd /home/test/
    cd /home/test
    ls
    echo "1" > 1.txt           添加 1 文本文档
    (如果不行,请检查防火墙,如果你用的是虚拟机先关闭:service iptables stop,之后也关闭物理机的防火墙
    
linux <wbr>ftp搭建和创建用户登录
 
    基本上大致就是这样,这也是自己的一段见解,每个人的安装方式不一样,如有不对的地方可随时提出
原文地址:https://www.cnblogs.com/L-H-R-X-hehe/p/3788399.html