zoukankan      html  css  js  c++  java
  • [我的阿里云服务器] —— FTP配置

    前言:

    FTP是我们用来向服务器上传或者下载文件很重要的一个工具,特别是云服务器,无法使用外设传送文件。

    所以下面我们就来配置一下FTP,但是FTP的21端口,通常也是黑客进攻的一个目标,所以需要小心使用。

    服务器配置(因为处于学习,所以几乎选了最破的配置了):

    1、CPU:单核

    2、内存:512M

    3、系统盘:Linux送20G,Ubuntu 12.04 64位系统

    4、数据盘:10G

    5、公网带宽:1M

    一、安装VSFTPD

    VSFTPD是一款小巧易用FTP服务器程序,vsftpd 在安全性、高性能及稳定性三个方面有上佳的表现。

    它提供的主要功能包括虚拟IP设置、虚拟用户、Standalone、inetd操作模式、强大的单用户设置能力及带宽限流等。在安全方面,它从原理上修补了大多数Wu-FTP、ProFTP,乃至BSD-FTP的安装缺陷,使用安全编码技术解决了缓冲溢出问题,并能有效避免"globbing"类型的拒绝服务攻击。

    使用命令:

    apt-get install vsftpd

    然后,在/srv目录下,就新增了一个ftp目录。

    我们可以使用查找ftp目录,看看都新增了哪些目录:

    find / -name ftp

    可以发现很多目录下都增加了ftp目录,有些我们在下面还会接触到。

    此时,我们可以访问ftp://服务器所在IP地址或域名/,就会发现一个空白的FTP目录。

    1

    二、添加ftp用户

    当安装完毕后,一般会自动生成一个“ftp”账户,如果没有的话,我们就手动添加。

    useradd -m ftp    #-m表示创建用户,但不创建用户目录。

    如果已经拥有ftp账户,它会提示你已经存在。

    修改密码:

    passwd ftp

    修改权限:

    chmod 777 /srv/ftp

    三、配置vsftpd

    通过修改/etc/vsftfd.conf文件,我们就可以配置vsftfd了。

    首先,备份原来的配置文件。

    cp /etc/vsftpd.conf /etc/vsftpd.conf.backup

    然后修改conf文件,修改匿名、本地、上传、下载配置。

    # cat /etc/vsftpd.conf
    # 服务器以 standalong 模式运行,如果以 root 用户直接启动 vsftpd 进程,则必须。
    # 注销语句以 xinetd 方式运行
    listen=YES
    # 上传总开关(全局控制)
    write_enable=YES
    # 不接受匿名用户,默认无密码请求
    anonymous_enable=NO
    # 接受本地用户
    local_enable=YES
    # 本地用户上传文件(包括目录)的 umask
    # 注意 vsftp 版本,某些旧版的该选项会被 chown_uploads/chown_username 二选项覆盖
    local_umask=022
    # 允许匿名用户上传文件,配合 anon_umask,否则文件权限皆为默认的 600,用户上传的文件不提供给任何匿名用户下载
    #anon_upload_enable=YES
    # 匿名用户上传文件(包括目录)的 umask
    # 注意点同 local_umask
    anon_umask=022
    # 允许匿名用户创建目录,配合 anon_umask 实现目录可写,否则依我(aBiNg)看,实际用处很小
    #anon_mkdir_write_enable=YES
    # 允许匿名用户删除/重命名文件等操作
    #anon_other_write_enable=YES
    # 为 YES 则进入目录时显示此目录下由 message_file 选项指定的文本文件(默认为 .message)的内容
    dirmessage_enable=YES
    # 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file 选项修改
    xferlog_enable=YES
    # 使用 port 模式连接,并启用 20 端口
    connect_from_port_20=YES
    # 改变用户上传文件的所有者
    #chown_uploads=YES
    #chown_username=whoever
    #xferlog_file=/var/log/vsftpd.log
    # 日志使用标准 xferlog 格式
    #xferlog_std_format=YES
    # 用户登陆后 idle 时间,超过设置超则被踢出服务器
    #idle_session_timeout=600
    # login 时的欢迎信息
    ftpd_banner=Welcome to feifei FTP service.
    #deny_email_enable=YES
    #banned_email_file=/etc/vsftpd.banned_emails
    # 若为 NO,则记录在 chroot_list_file 选项所指定的文件(默认是 /etc/vsftpd.chroot_list)中的用户将被
    # chroot 在登录后所在目录中,无法离开。如果为 YES,则所记录的用户将不被 chroot。
    chroot_local_user=YES
    # 设置为 YES 则下面的控制有效
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list
    #ls_recurse_enable=YES
    #secure_chroot_dir=/var/run/vsftpd
    #pam_service_name=vsftpd
    #rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    #rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

    四、设置vsftpd用户目录

    1、增加ftp组

    groupadd ftpgroup

    2、添加ftp用户

    useradd –g ftpgroup –d /srv/ftp –M ftpuser
    
    passwd ftpuser

    3、修改chroot_list文件(上面已经在vsftpd.conf文件中设置过chroot_list_file=/etc/vsftpd/chroot_list)

    vi /etc/vsftpd.chroot_list
    
    添加 ftpuser

    4、重启vsftpd

    /etc/init.d/vsftpd restart
    service vsftpd stop

    两种方式都可以。

    5、使用完毕后,关闭vsftpd

    service vsftpd stop

    最后,通过上面这个过程我们就可以使用FTP进行文件传输了。当然,可能不同情况下,也会出现问题,

    这里就是跟大家分享一下我的学习过程。希望对大家有帮助。

  • 相关阅读:
    linux 添加环境变量(php为例)
    composer install Your requirements could not be resolved to an installable set of packages
    pytesseract 验证码识别
    mac crontab时间断内随机时间执行定时任务
    Mac使用crontab来实现定时任务
    安居客滑动验证码识别
    jQuery图片点击预览遮罩层,再点击关闭效果
    linux系统必学-部分链接
    JavaScript概念总结:作用域、闭包、对象与原型链
    Web前端性能优化全攻略
  • 原文地址:https://www.cnblogs.com/ColdJokeLife/p/3141395.html
Copyright © 2011-2022 走看看