ubuntuの下にFTPサーバーをデプロイします

FTPの簡単な紹介##

FTPは、TCP / IPプロトコルスイートのプロトコルの1つ、つまりファイル転送プロトコルです。TCPモデルの第4層(アプリケーション層)で機能します。TCP送信を使用してインタラクティブアクセスを使用し、クライアントがファイルの種類と形式を指定できるようにします。 ASCIIコードとテキスト形式です。

FTP接続モード##

FTPには2つのポートがあり、1つのポートは制御接続ポートとして使用されます。ポート21は、サーバーにコマンドを送信し、サーバーが応答するのを待つために使用されます。2つのポートはデータ送信ポートであり、ポート番号は20で、データの確立に使用されます。伝送チャネル。したがって、zabbixのアクティブとパッシブに似た、サーバーに関連するアクティブとパッシブの2つのFTP接続モード、つまりPORTとPASVがあります。

ポートモード###

アクティブモードのFTPクライアントは、自身のHighポートとFTPサーバーのTCPポート21の間に接続チャネルを確立し、このチャネルを介してコマンドを送信します。クライアントがデータを受信する必要がある場合は、このチャネルでPORTコマンドを送信して、クライアントが使用していることをサーバーに通知します。どのポートがデータを受信するか。サーバーはクライアントのポート情報を受信した後、20ポートとクライアントの指定されたランダムハイポートを介して接続し、データリンクが確立されます。

PASVモード###

パッシブモードでは、クライアントがデータリクエストを送信すると、サーバーはクライアントにメッセージを送信して、サーバーがローカルでハイビットポートを開いたことをクライアントに通知し、クライアントに接続させます。クライアントがサーバーの情報提供後、サーバーのハイランダムポートに接続し、データリンクを確立します。

違い###

2つのモードは、主にデータリンクの確立が異なります。アクティブモードでは、クライアントがローカルでHighポートを開き、サーバーが接続を確立するのを待ちます。パッシブモードでは、サーバーがHighポートを開き、クライアントがデータ接続を確立するのを待ちます。

これを知ることは、FTPを理解することとほとんど同じです。次に、ubuntuでアクティブおよびパッシブFTPを構築する方法を紹介します。

ビルド##

FTP ###をインストールします

1 sudo apt install vsftpd

FTPフォローディレクトリとユーザー###を作成します

12345 $ sudo mkdir -p /data/storage$ sudo adduser www$ sudo adduser ftpadmin --ingroup www$ sudo chown -R www.www /data/storage$ sudo chmod g+w /data/storage

ここで作成されたこれら2つのユーザーの役割について説明します。wwwユーザーはWebユーザーであり、すべてのアプリケーションはこのユーザーによって制御されます。ftpadminはFTPユーザーです。

アクティブモードの構成###

1 2 3 4 5 6 7 8 910111213141516171819202122 listen = NOlisten_ipv6 = YESanonymous_enable = NOlocal_enable = YESdirmessage_enable = YESuse_localtime = YESxferlog_enable = YESconnect_from_port_20 = YES#アクティブモードでのデータ転送に20ポートを使用するかどうかxferlog_file = / var / log / vsftpd / emptyam_dir_var / vsftpd / emptyam_dir_ vsftpdrsa_cert_file = / etc / ssl / certs / ssl-cert-snakeoil.pemrsa_private_key_file = / etc / ssl / private / ssl-cert-snakeoil.keyssl_enable = NOchroot_local_user = YESallow_writeable_chroot = 0YESfilewrite_enable = / umask = 0666 #アクティブモードオン

構成が完了したら、vsftpdを再起動し、アクティブモードをオンにします

パッシブモード構成###

1 2 3 4 5 6 7 8 910111213141516171819202122232425 listen = NOlisten_ipv6 = YESanonymous_enable = NOlocal_enable = YESdirmessage_enable = YESuse_localtime = YESxferlog_enable = YESxferlog_file = / var / log / vsftpd.logxferlog_std_format = YESanonymous_enable = nolocal_enable = YESdirmessage_enable = YESuse_localtime = YESxferlog_std_format = YESanonymous_enable = NOlocal_enable = YESdirmessage_enable = YESuse_localtime = YESxferlog .pemrsa_private_key_file = / etc / ssl / private / ssl-cert-snakeoil.keyssl_enable = NOchroot_local_user = YESallow_writeable_chroot = YESwrite_enable = YESlocal_root = / data / storagelocal_umask = 0file_open_YES = 0666pasv_enable = YESsvpassive_モードでのセキュリティチェック

テスト###

filezillaまたはブラウザを使用してftp:// ftpアドレスに直接アクセスします。ここでは、curlを使用してアップロードとダウンロードを行います。

1 )複数のファイルを作成する

1 for i in seq 1 100;do echo "num: i" > upload_i.log;done

2 )複数のファイルをアップロードする

1 for i in seq 1 100;do curl -u ftpadmin:Tccm2008 -T upload_$i.log ftp://10.0.3.111 ;done

3 )複数のファイルをダウンロードする

1 for i in seq 1 100;do curl ftp://10.0.3.111/upload_i.log -u ftpadmin:Tccm2008 -o download_i.log ;done

Recommended Posts

ubuntuの下にFTPサーバーをデプロイします
Ubuntu19.10でメールシステムを展開する
UbuntuにGerritをインストールしてデプロイする
centos7でFTPサーバーを構築する
Ubuntuインストールftpサーバーと考えられる問題
Ubuntu12.04でのDLNA / UPnPサーバーのインストールと構成
Ubuntuの下のdockerを介してspringbootプロジェクトをデプロイします
ドッカーをubuntuサーバーにすばやくデプロイする方法
Ubuntuにapache + PHPをインストールします
Ubuntuにnode.jsをインストールします
CentOS7でGitBookを展開する
ubuntu16.04はGPU環境を展開します
Ubuntu16.04にpython3.6をインストールします
Ubuntu16.04にmysqlをインストールします
ubuntu14.10の下にThriftをインストールします
UbuntuにOpenJDK10をインストールします
Ubuntu14.04にCaffeをインストールします
UbuntuでのPythonMySQLd
ubuntuの下で働き始める
[python] ubuntuの下のpython2とpython3
ubuntuでiptablesを使用する
2018-09-11Ubuntuにarduinoをインストールします
UbuntuでのLNMPのインストール
Ubuntuでのネットワーク構成
CentOSの下にJDK + Tomcat8をデプロイします
ROS Ubuntu 18.04 [2]にROSをインストールします。
UbuntuにMySQLをインストールする
ubuntuインストールnginxサーバー
UbuntuにYarm-PM2をインストールします
Ubuntu16.04環境でFTPサーバーをセットアップするためのチュートリアル
Ubuntuのnginxサーバーでhttpsを開く方法
CentOS7デプロイvsftp(FTP)サービス
Ubuntu 14.04でのDjango&MySQL環境の展開
[Linux] Sambaサーバーのビルド(ubuntu16.04)
CentOS7でOpenV **サーバーを構築する
Ubuntu Server14.04にOpenSSL1.0.2をインストールします
Ubuntuサーバー第8章DNSサービス
CentOS7でOpenLDAPサーバーを構築する
ubuntu16.04ビルドpptpdV **サーバー
Ubuntuサーバー第3章パッケージ管理
ubuntuでUnmentの依存関係を解決する
ubuntuサーバーでtomcatを構成する
UbuntuでSSHサービスを開く
ubuntuの下で崇高なtexを使用する
Ubuntuサーバー第7章リモート管理
サーバーアップグレードUbuntu20.04LTSレコード
CentOS 7.2デプロイメールサーバー(Postfix)
Jmeter(18)_Ubuntuはjmeterとantを展開します
Ubuntu12.04クロスコンパイルサーバーを構築する
Ubuntu18.04でショートカットキーを変更する
ubuntuでのmediawikiの使用
サーバーアップグレードUbuntu20.04LTSレコード
Ubuntu16.04にサーバー側のShadowsocksをインストールします
UbuntuでSSHサービスを開く
UbuntuでのDNSサービスの構築
UbuntuサーバーはJavaWebサーバーを構築します
UbuntuサーバーでPHPオペレーティング環境をセットアップする方法
virtualboxを使用してubuntuをデプロイします
Ubuntuはsquidプロキシサーバーを展開します
Ubuntu16.04サーバーの初期設定
Ubuntu16.04ビルドGitLabサーバーチュートリアル