zoukankan      html  css  js  c++  java
  • Linux下搭建FTP服务器

                  Linux下搭建FTP服务器

    项目需求:1.安装Linux系统,并搭建FTP服务器。

         2.实现本地用户登录;一个管理用户(可以管理普通用户),多个普通用户(不能登录系统,不能访问其他目录,只可以访问自己的家目录)的组模式。

    一、安装Linux系统

       1、通过CD启动电脑

      

      回车->

      

      Skip跳过,无限下一步。。。

      

      ->输入密码,并验证密码->

      

      next->

      

         next->选Basic Server->然后下面选择Customize now(自定义安装)->next

      

      选择Servers->右面选择FTP server(必选)->next

      

      等待安装结束-点击reboot,重启后输入用户名root,密码******,即可进入系统

      

     2、设置IP地址

      (1)输入setup命令,进入设置界面

      

      使用空格键将Use DHCP处[]内的星号去掉

      

       (2)设置网卡自动激活

      cat /etc/sysconfig/network-scripts/ifcfg-eth0 
      DEVICE="eth0"
      HWADDR="00:0C:29:FC:1C:72"
      NM_CONTROLLED="yes"
      ONBOOT="no"
     
      修改ONBOOT为yes
      vi /etc/sysconfig/network-scripts/ifcfg-eth0
     
      DEVICE="eth0"
      HWADDR="00:0C:29:FC:1C:72"
      NM_CONTROLLED="yes"
      ONBOOT="yes"
     
      #service network restart
      再次运行ifconfig�发现网卡已经正常。

     3、启动ftp服务(vsftpd)

      (1)设置ftp服务开机自动启动

      

      

      [root@localhost /]# chkconfig --list|grep vsftpd

        vsftpd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
       上面显示vsftpd 在linux任何工作等级下都没有自启动
        [root@localhost /]# chkconfig vsftpd on
        上面这条命令设置vsftpd自启动
        [root@localhost /]# chkconfig --list|grep vsftpd
        vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
        上面显示表明vsftpd在Linux工作2,3,4,5等级下都会自启动服务。

     (2)查看并开启ftp服务

       ps ax|grep vsftpd 查看ftp服务是否开启

       service vsftpd start开启ftp服务(如下图第一次查看未开启ftp服务,第二次查看ftp服务已开启)

      

     4、开启防火墙

      

        

      

      保存并退出。

    二、配置 /etc/vsftpd/vsftpd.conf文件.

      vi vsftpd.conf

      输入i开始编辑

     1 anonymous_enable=NO
     2 设定不允许匿名访问
     3 local_enable=YES
     4 设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问。
     5 write_enable=YES
     6 设定可以进行写操作。
     7 local_umask=022
     8 设定上传后文件的权限掩码。
     9 anon_upload_enable=NO
    10 禁止匿名用户上传。
    11 anon_mkdir_write_enable=NO
    12 禁止匿名用户建立目录。
    13 dirmessage_enable=YES
    14 设定开启目录标语功能。
    15 xferlog_enable=YES
    16 设定开启日志记录功能。
    17 connect_from_port_20=YES
    18 设定端口20进行数据连接。
    19 chown_uploads=NO
    20 设定禁止上传文件更改宿主。
    21 xferlog_file=/var/log/vsftpd.log
    22 设定Vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来,并且由于这里更改了Vsftpd的服务宿主用户为手动建立的Vsftpd。必须注意给与该用户对日志的写入权限,否则服务将启动失败。
    23 xferlog_std_format=YES
    24 设定日志使用标准的记录格式。
    25 idle_session_timeout=600
    26 设定空闲连接超时时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值600,单位秒。
    27 data_connection_timeout=120
    28 设定单次最大连续传输时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值120,单位秒。
    29 ftpd_banner=Welcome to 777K FTP service
    30 设定Vsftpd的登陆标语。
    31 chroot_list_enable=NO
    32 禁止用户登出自己的FTP主目录。
    33 chroot_list_file=/etc/vsftpd/chroot_list(chroot_list文件需要手动建立)
    34 listen=YES
    35 userlist_enable=YES
    36 设定userlist_file中的用户将不得使用FTP。

    输入Esc

    :wq 保存并退出

    重启FTP服务,service vsftpd restart

    三、建立本地用户

    adduser -d /home/admin admin    (管理用户)

    passwd admin

    adduser -d /home/admin/sunone sunone (普通用户1属于admin组)

    passwd sunone

    adduser -d /home/admin/suntwo suntwo (普通用户2属于admin组)

    passwd suntwo

    将sunone、suntwo拥有权限改为admin

    chown sunone:admin /home/admin/sunone 

    chown suntwo:admin /home/admin/suntwo

    修改用户权限

    chmod 701 admin

    chmod 750 sunone 

    chmod 750 suntwo 

    四、解决 vsftp 500 OOPS: cannot change directory:/home/******* 错误(selinux状态修改)

    命令sestatus -b|grep ftp查看状态全为off,第二行需要将状态改为 on

    setsebool -P allow_ftpd_full_access on (设置未on状态即可)

    五、设置用户不能登录系统

    vi /etc/passwd

    改为 nologin

    六、该项目其他技术人员

    json、acan

    ------以上为本文所有内容-------

    ------以下无下文------

    异乡小龟
  • 相关阅读:
    mongodb简介
    tomcat简介
    date的详细说明
    30岁前成功的12条黄金法则
    2012春晚经典语录
    统计文件中某个单词出现的次数
    nginx简介
    ATM取款机系统模拟仿真
    十三种时间管理方法
    笔试常见的智力题 附答案
  • 原文地址:https://www.cnblogs.com/scale/p/5919498.html
Copyright © 2011-2022 走看看