GNU/Linux >> Linux の 問題 >  >> Linux

FTPサーバーコンテナPodmanの高速で適切な4つのダーティステップ

はじめに

FTPサーバーコンテナは「ファイル転送プロトコル」の略で、リモートサーバーまたはローカルサーバーからファイルをダウンロードしたり、サーバーにファイルをアップロードしたりするための優れたプロトコルです。 FTPの使用は、正しく設定された後の主要なタスクであることがわかります。これは、サーバーがクライアントからの接続(デフォルトではポート21)をリッスンすることで機能します。クライアントは、自分のユーザーアカウントを使用してリモートディレクトリにアクセスし、付与されている権限に応じて、そこでファイルをダウンロードまたはアップロードできます。匿名認証を構成することもできます。つまり、ユーザーはFTPサーバーに接続するために自分のアカウントを必要としません。


Centos Linuxでは、さまざまなFTPサーバーコンテナとクライアントソフトウェアパッケージを利用できます。デフォルトのGUIおよびコマンドラインツールをFTPクライアントとして使用することもできます。さらに、スタイリッシュで高度に構成可能なFTPサーバーパッケージはvsftpdであり、Centosを含む多くのLinuxシステムで知られています。
このガイドでは、Centosにvsftpdをインストールするためのステップバイステップの手順について説明します。また、さまざまな設定でコンテナFTPサーバーを構成し、コマンドライン、GNOME GUI、またはFTPクライアントソフトウェアを使用してFTPサーバーに接続する方法についても説明します。 FTPユーザーの作成チュートリアル。

環境変数

このイメージは、環境変数を使用して、実行時にいくつかのパラメーターを構成できるようにします。

  • 変数名:FTP_USER
  • デフォルト値:admin
  • 受け入れられる値:任意の文字列。空白や特殊文字は避けてください。
  • 説明:デフォルトのFTPアカウントのユーザー名。実行時にFTP_USER環境変数を使用して指定しない場合、デフォルトでadminが使用されます。
  • 変数名:FTP_PASS
  • デフォルト値:ランダムな文字列。
  • 受け入れられる値:任意の文字列。
  • 説明:FTP_PASSを介してデフォルトのFTPアカウントのパスワードを指定しない場合、16文字のランダムな文字列が自動的に生成されます。この値は、コンテナログから取得できます。
  • 変数名:PASV_ADDRESS
  • デフォルト値:DockerホストIP/ホスト名。
  • 受け入れられる値:任意のIPv4アドレスまたはホスト名(PASV_ADDRESS_RESOLVEを参照)。
  • 説明:パッシブモードで使用するIPアドレスを指定しない場合は、DockerホストのルーティングされたIPアドレスを使用します。これはローカルアドレスである可能性があることに注意してください。

公開されたポートとボリューム

このイメージは、ポート20と21を公開しています。また、ユーザーのホームディレクトリを含む/ home / vsftpdと、ログの保存に使用される/ var / log/vsftpdの2つのボリュームをエクスポートします。
ホストとコンテナ(/ home / vsftpd)間でホームディレクトリを共有する場合、所有者のユーザーIDとグループIDは14と50である必要があります。これはコンテナのFTPユーザーとFTPグループに対応しますが、ホスト上の他のものと一致する場合があります。

選択したリポジトリから画像を取得します

# podman pull fauria/vsftpd

ポッドFTPサーバーコンテナを作成します:

FTPプロトコルは、デフォルトでポート21でユーザー認証をリッスンし、ポート20でデータ転送をリッスンします。ただし、/ etc / vsftpd.confファイルを少し編集することで、この動作を変更できます。ファイルの下部で、listen_portディレクティブを使用して、vsftpdが使用する別のポートを指定します。

# podman pod create --name vsftpdapp -p 21:21  --network bridge

バインドされたデータディレクトリを使用して、デフォルトのユーザーアカウントを使用してアクティブモードでコンテナを作成します:

# mkdir /vsftpd_shared
# podman run --pod vsftpdapp --name vsftpd-server -v /vsftpd_shared:/home/vsftpd -d fauria/vsftpd:la
test

ユーザーとパスワードを確認するには、以下のコマンドを使用できます。

# podman logs vsftpd-server

本番コンテナを作成 カスタムユーザーアカウントを使用して、データディレクトリをバインドし、アクティブモードとパッシブモードの両方を有効にします。

# podman run --pod vsftpdapp --name vsftpd-server --env FTP_USER=myuser --env FTP_PASS=mypass --env
PASV_ADDRESS=127.0.0.1 --restart=always -d fauria/vsftpd:latest

既存のコンテナに新しいFTPユーザーを手動で追加します:

# podman exec -i -t vsftpd-server bash
# mkdir /home/vsftpd/myuser
# chmod +x+o /home/vsftpd/myuser
# echo -e "myuser\nmypass" >> /etc/vsftpd/virtual_users.txt

ftpコマンドでftpサーバーコンテナにアクセスする

ftp 192.168.56.101

Linux
  1. CentOS 7 / RHEL 7にFTPサーバーをインストールして構成する–(vsftpfd)

  2. Podmanルートレスコンテナでのファイルとデバイスの使用

  3. podmanとdockerの違い。

  1. コンテナ内でのPodmanの使用方法

  2. 迅速で汚いハック:1行のHTTPサーバー

  3. FTPおよびSFTPの概要

  1. AlmaLinuxでFTP/SFTPサーバーとクライアントをセットアップする方法

  2. UbuntuLinuxでFTPサーバーをセットアップして使用する方法

  3. CentOS / RHEL 4 :FTP サーバー (vsftpd) をインストールして構成する方法