Linux ftp服务器搭建

 Linux ftp服务器搭建

    Linux ftp服务器一般和Linux http 服务器搭建在同一台,前者是主要提供下载后者是提供访问。

    默认情况下,存储通过挂载到http默认访问路径/var/www/html目录中。那么其目录下的文件如何通过ftp下载呢?

    Linux下有很多可用的FTP服务器,其中rhel默认为VSFTP

    vsftp中VS的意思是“Very Secure”

   vsftp提供3种远程的登录方式:

   (1)匿名登录方式

           就是不需要用户名,密码。就能登录到服务器下载目录

   (2)本地用户方式

           需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你linux系统 里面,已经有的用户。

   (3)虚拟用户方式

           同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,在你linux系统中是没有的(没有该用户帐号)

在这里只介绍前面两种登录方式

ftp服务器部署步骤:

(1)准备步骤

1、安装ftp程序

2、启动、重启、停止 ftp服务

3、设置ftp开机自启动

(2)匿名登录方式

1、在/var/ftp/pub目录下创建一个名为test.txt的文件

2、更改默认下载路径方法

(3)本地用户方式

1、取消匿名登录方式

2、创建专门用户ftp服务的本地用户

3、设置创建的用户可用于ftp

4、更改默认下载路径方法

(4)详细了解ftp相关设置

1、ftp不常见使用方法

2、相关配置文件

3、vsftpd.conf参数详解

(1)准备步骤

 
  1. 1

    1、安装ftp程序

    rpm -qa | grep vsftpd 检测系统是否安装ftp程序

    如果没有安装,使用yum 安装或者使用rpm -Uvh rpm包名

    yum配置详细步骤参考我的经验:rhel6.4 yum本地yum源配置

    Linux ftp服务器搭建
  2. 2

    2、启动、重启、停止 ftp服务

    启动:service vsftpd start

    关闭:service vsftpd stop

    重启:service vsftpd restart

  3. 3

    3、设置ftp开机自启动

    chkconfig vsftpd on

    Linux ftp服务器搭建
    END

(2)匿名登录方式

 
  1. 1

    1、在/var/ftp/pub目录下创建一个名为test.txt的文件

    可以看到,在没有更改ftp默认配置时候,ftp服务器默认下载位置是/var/ftp/pub。

    如果想更改这个默认下载路径有两种方法:

    1、更改/etc/passwd文件

    2、在/etc/vsftpd/vsftpd.conf文件添加一行

    local_root=/var/www/html

    Linux ftp服务器搭建
  2. 2

    更改默认下载路径方法

    每种方法更改之后都需要重启ftp服务

    service vsftpd restart

    注意:此时ftp能够提供下载的同时,http同样能够提供访问

    注意:使用这种服务必须将selinux关闭。编辑/etc/selinux/config文件修改SELINUX为disabled,并执行执行setenforce 0 命令这样无需重启服务器。

    Linux ftp服务器搭建
    Linux ftp服务器搭建
    Linux ftp服务器搭建
    END

(3)本地用户方式

 
  1. 1

    1、取消匿名登录方式

    anonymous_enable=YES 修改成NO

  2. 2

    2、创建专门用户ftp服务的本地用户

    useradd sa   创建用户

    passwd sa     设置密码

  3. 3

    3、设置创建的用户可用于ftp

    首先将vsftpd.conf文件中的

    #chroot_list_enable=YES  # (default follows)  #chroot_list_file=/etc/vsftpd.chroot_list   将其改为:   chroot_list_enable=YES  # (default follows)  chroot_list_file=/etc/vsftpd/chroot_list 

     然后新增一个文件/etc/vsftpd/chroot_list,文件内容为之前刚创建的用户:   sa

    注意:

     chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list 

    这两行的意思就是chroot_list文件中用户列表可以用户访问ftp

    #chroot_local_user=YES   

     是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下

    chroot_local_user默认为NO,设置指定用户能够chroot

    Linux ftp服务器搭建
  4. 4

    4、更改默认下载路径方法

    在/etc/vsftpd/vsftpd.conf文件添加一行

    local_root=/var/www/html

    sa登录之后默认下载路径是/home/sa注意:此时ftp能够提供下载的同时,http同样能够提供访问

    注意:使用这种服务必须将selinux关闭。编辑/etc/selinux/config文件修改SELINUX为disabled,并执行执行setenforce 0 命令这样无需重启服务器。

    最后重启:service vsftpd restart

    Linux ftp服务器搭建
    Linux ftp服务器搭建
    END

(4)详细了解ftp相关设置

 
  1.  

    1、ftp不常见使用方法

    1、限制IP 访问FTP:

    #vi /etc/hosts.allow

    vsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务

    2、FTP 访问时间限制:

    #cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd

    #vi /etc/xinetd.d/vsftpd/

    修改 disable = no

    access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)

    例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp

    3、针对不同的使用者限制不同的速度。假设用户sa所能使用的最高速度为500Kb/s

    第一:在/etc/vsftpd/vsftpd.conf文件尾部新增以下一行: user_config_dir=/etc/vsftpd/userconf 增加一个名为/etc/vsftpd/userconf的目录: #mkdir /etc/vsftpd/userconf 第二: 在/etc/vsftpd/userconf下新增一个名为sa的文件,其内容如下所示: local_max_rate=500000 

    4、对于每一个联机用户,都以独立的进程来运行。

    一般情况下,在启动VSFTP时,只会看到一个名为vsftpd的进程在运行。但若是读者希望每一个联机用户都能以独立的进程来呈现,则可通过在/etc/vsftpd/vsftpd.conf文件中增加以下一行来实现: setproctitle_enable=YES

  2.  

    2、相关配置文件

    vsftp.conf:

      /etc/vsftpd/vsftpd.conf,包含了FTP服务的基本配置参数。指令格式为option=value,每条指令独占一行并且指令之前不能有空格,而且在option、value和=之间不能有空格。

    /etc/vsftpd/ftpusers:

      这个文件是用来记录"不允许"登录到FTP服务器的用户,通常是一些系统默认的用户.

    /etc/vsftpd/user_list:

      其实它的内容跟上面那个文件内容一样,只是在系统对文件vsftpd.conf 进行检测时,会检测到"userlist_deny=YES",因此这个文件必须存在.

    Linux ftp服务器搭建
  3.  

    3、vsftpd.conf配置参数详解

    (1)ftpd_banner=welcome to ftp service  设置连接服务器后的欢迎信息

    (2)idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)

    (3)data_connection_timeout=120 :设置客户机在进行数据传输时,设置空闲的数据中断时间

    (4)accept_timeout=60 设置在多长时间后自动建立连接

    (5)connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;

    (6)max_clients=200 指明服务器总的客户并发连接数为200

    (7)max_per_ip=3 指明每个客户机的最大连接数为3

    (8)local_max_rate=50000(50kbytes/sec)  本地用户最大传输速率限制

    (9)anon_max_rate=30000匿名用户的最大传输速率限制

    (10)pasv_min_port=端口

    (11)pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;

    (12)listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;

    (13)listen_port=端口号 设置FTP工作的端口号,默认的为21

    (14)chroot_local_user=YES 设置所有的本地用户可以chroot

    (15)chroot_local_user=NO 设置指定用户能够chroot

    (16)chroot_list_enable=YES

    (17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用户才能执行 )

    (18)local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;

    (19)chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;

    (20)chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;

    (21)userlist_enable=YES/NO 是否加载用户列表文件;

    (22)userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;

    (23)userlist_file=/etc/vsftpd/user_list 列表文件

原文地址:https://www.cnblogs.com/Su-per-man/p/12060761.html