これよくない

pyftpdlibをつかおう

sudo easy_install pyftpdlib
nohup python -m pyftpdlib > pyftpdlib.log 2>&1 &

0. FTPS (File Transfer Protocol over SSL/TLS) を使う場合にはopensslで発行

sudo mkdir /etc/ssl/private # or your SSL directory
sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
sudo openssl req -x509 -nodes -newkey rsa:2048 -days 365 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem # 有効期限を設定する場合

vsftpdでの instal

files

user_list

  • vsftpd.confのuserlist_enableがYESになっている時のデフォルトファイル。
  • このファイルからrootをコメントアウトしてvsftpdを再起動してみたもののrootでは接続できない。ちなみにこのファイルに記述されているユーザでFTP接続をすると、ユーザ名を入れた後、即失敗する。コメントアウトしたユーザはパスワードまでは聞かれるが正しいパスワードを入力しても失敗する。

ftpusers

  • このファイルに記述されているユーザは接続できない。user_listよりも優先されるとのこと。
  • ここからもrootをコメントアウトしてvsftpdを再起動して接続してみたところ、rootユーザでも接続が可能となった。

port_range

  • 21 : 制御
  • 20 : データ転送

1. vstpd install

sudo yum update openssl # opensslを最新に
sudo yum install vsftpd

2. config after install

sudo emacs /etc/vsftpd/vsftpd.conf
# NOに変更 anonymousユーザーを無効にします
# これをNOにするときにはlocal_enable=YESにしてlinux system userをつかう
anonymous_enable=NO # コメントアウト デフォルト(077)にして他のユーザーの読取を拒否
#local_umask=022 # アンコメント ASCIIモードを有効にします
ascii_upload_enable=YES
ascii_download_enable=YES # コメントアウト(vsftpdデフォルトの077マスクで、ownerのみアクセスに)
# テストでの利用する場合には コメントアウトしなくてもいいかな
#local_umask=022 大专栏  Ftp Centos · GitBookan class="hljs-comment"># chrootを有効にして、homeディレクトリをルートにします。
# アンコメント
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list # ipv6,v4両方Listenします
listen=YES
listen_ipv6=YES # 追記 ※私はよくwritableと間違ってしまいます。writeableです。
allow_writeable_chroot=YES # 追記 フォルダごといけるようにします
ls_recurse_enable=YES # ここからSSL設定を追記
# SSLを有効化
ssl_enable=YES
ssl_ciphers=HIGH
# 証明書の場所を指定します
rsa_cert_file=/etc/ssl/private/vsftpd.pem
# POODLEの件もあるので明示的にNO
ssl_sslv2=NO
ssl_sslv3=NO
# TLSを使います (This is more secure than SSL)
ssl_tlsv1=YES
# ノンセキュアなFTPは使用させず、SSLを強制
force_local_data_ssl=YES
force_local_logins_ssl=YES # ここからパッシブの設定を追記
pasv_address=公開しているホスト名
pasv_enable=YES # PASVで使うポートの下限と上限を設定します。
# エフェメラルポートの範囲内です。setctlでport_rangeで変更していないか確認してください。
# $ sudo grep ip_local_port_range /etc/sysctl.conf
# デフォルト(設定なし)では32768〜61000
pasv_min_port=50021
pasv_max_port=50040

check

  • pasvはなんだろう。。

最低限の設定



2.1 Create an FTP User

sudo adduser ftpuser
sudo passwd ftpuser

3. service 起動

sudo systemctl enable vsftpd
sudo systemctl stop vsftpd
sudo systemctl start vsftpd
sudo systemctl restart vsftpd
sudo systemctl status vsftpd netstat -lt | grep ftp
LISTEN 0 32 :::ftp :::*

4. Firewallでftpポート開放

??

動作確認



References

Ftp Centos · GitBook的更多相关文章

  1. [ftp]Centos 创建 sftp 步骤

    来自:http://blog.csdn.net/xinxin19881112/article/details/46831311 1.创建sftp组 groupadd sftp 2.创建一个sftp用户 ...

  2. NFS、FTP介绍

    第二十五课 NFS.FTP介绍 目录 一. NFS介绍 二.NFS服务端安装配置 三.NFS配置选项 四.exportfs命令 五.NFS客户端问题 六.FTP介绍 七.使用vsftpd搭建ftp 八 ...

  3. exportfs命令 NFS客户端问题 FTP介绍 使用vsftpd搭建ftp

    exportfs命令 • 常用选项 • -a 全部挂载或者全部卸载 • -r 重新挂载 • -u 卸载某一个目录 • -v 显示共享目录 • 以下操作在服务端上 • vim /etc/exports ...

  4. List of CentOS Mirrors

    From:https://www.centos.org/download/mirrors/ CentOS welcomes new mirror sites. If you are consideri ...

  5. kvm无人值守安装centos 7虚拟机

    centos 7安装好KVM之后还要安装虚拟机,通过VNC连接手动安装centos 7虚拟机太麻烦了,所以无人值守安装是做好的.简单记录下. 无人值守安装centos 7前提是要安装KVM,并且能手动 ...

  6. CentOS7.5下基于FTP服务的局域网yum源搭建

    实验环境 yum源服务器和yum客户端都处于同一局域网之中 yum源服务器 hostname:zabbix OS版本:CentOS 7.5 IP:192.168.101.201 yum客户端 host ...

  7. Linux centosVMware NFS exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp

    一.exportfs命令 常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在服务端上 vim /etc/exports //增加 /tmp/ 1 ...

  8. 尝试在CentOS7.2上编译安装Swift

    苹果提供 Ubuntu上构建Swift 的教程,通过这个教程我尝试使用CentOS7.2上玩儿一把.目前已经成功在CentOS7.2上班成功安装 swift 4.0 https://github.co ...

  9. 源码部署pxc集群

    想了想还是研究一下怎么源码安装pxc吧,毕竟很多组件都是源码安装的. 环境: yum install -y boost-devel libodb-boost-devel check-devel ope ...

随机推荐

  1. Java注解基础

    0.背景 Java注解--Annotation产生于JDK5.作为code的特殊“标记”,注解可以在编译.类加载.运行时被读取,并执行处理. 开发利用注解在源码中嵌入补充信息,工具(代码分析.开发.部 ...

  2. 【Java杂货铺】JVM#虚拟机加载机制

    代码编译的结果从本地机器码变为字节码,是储存格式发展的一小步,却是编程语言发展的一大步--<深入理解Java虚拟机> 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转化 ...

  3. vue项目中的elementUI的table组件导出成excel表

    1.安装依赖:npm install --save xlsx file-saver 2.在放置需要导出功能的组件中引入 import FileSaver from 'file-saver' impor ...

  4. PyTorch基础——使用神经网络识别文字中的情感信息

    一.介绍 知识点 使用 Python 从网络上爬取信息的基本方法 处理语料"洗数据"的基本方法 词袋模型搭建方法 简单 RNN 的搭建方法 简单 LSTM 的搭建方法 二.从网络中 ...

  5. SwaggerConfig

    package me.zhengjie.common.swagger2; import com.google.common.base.Predicates; import org.springfram ...

  6. 如何使用jQuery给asp.net的TextBox取值和赋值

    解决办法: 可以在控件中先设置属性ClientInstandName的值和ID的值一样,再使用$("#ID").val("12345")

  7. C - Line-line Intersection Gym - 102220C(线段相交)

    There are n lines l1,l2,…,ln on the 2D-plane. Staring at these lines, Calabash is wondering how many ...

  8. 安装VSCODE和typora黑屏

    工欲善其事必先利其器,本来是为了学git为了保存代码,然后网上一顿搜索研究之后发现,用git来保存笔记也不错,因为现在用的onenote搜索实在在在在是太不方便了,除了搜索不行,其他方面她还是很好的, ...

  9. 林轩田机器学习基石笔记2—Learning to Answer Yes/No

    机器学习的整个过程:根据模型H,使用演算法A,在训练样本D上进行训练,得到最好的h,其对应的g就是我们最后需要的机器学习的模型函数,一般g接近于目标函数f.本节课将继续深入探讨机器学习问题,介绍感知机 ...

  10. 吴裕雄--天生自然python学习笔记:Python3 MySQL 数据库连接 - PyMySQL 驱动

    什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...