これよくない

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. 3. 监控利器nagios手把手企业级实战第二部

    1. 编辑hosts.cfg增加被监控的主机[root@nagios etc]# cat objects/hosts.cfg define host{        use               ...

  2. elementUI的select全选

    elementUI中的el-select全选 <template> <el-select class="handle-select" size="min ...

  3. << 和>> 的计算公式

    在java中,一个数左移n位,就是将这个数乘以2的n次方,右移就是将这个数除以2的n次方. 如: 8>>2 = 2  (8/2^2) 15 << 3 = 120  (15*(2 ...

  4. The website is API(1)

    Requests 自动爬取HTML页面 自动网路请求提交 robots 网络爬虫排除标准 Beautiful Soup 解析HTML页面 实战 Re 正则表达式详解提取页面关键信息 Scrapy*框架 ...

  5. django项目班笔记-模板抽取

    目录 一.将前端静态文件放置到项目文件目录 二.模板设置 三.将静态文件拖放到项目对应目录 四.检查HTML文件中的应用是否自动更改了 4.1 文件引用没有改变的解决方法 4.2 设置static文件 ...

  6. spring-boot-1.4x后@ConfigurationProperties注解舍弃location

    --定义额外的.properties配置文件,并引入配置

  7. 吴裕雄--天生自然python机器学习:Logistic回归

    假设现在有一些数据点,我们用 一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称作回归.利用Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类 ...

  8. 70-persistent-net.rules无法自动生成,解决方法

    无法自动生成70-persistent-net.rules文件的原因: 在更换linux内核前修改ifcfg-eth0文件,更换内核,使用dhclient无法动态分配IP,删掉70-persisten ...

  9. springboot整合mybatis报错:Invalid default: public abstract java.lang.Class org.mybatis.spring.annotation...

    <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis- ...

  10. numpy矩阵运算--矩阵乘法

    1)元素对应相乘,使用 multiply 函数或 * 运算符来实现 a = np.array([2,2,2])b = np.array([3,3,3]) c1 = a*a c1 array([4, 4 ...