概要
Vsftpd(very secure FTP daemon)は、多数のLinuxディストリビューションのデフォルトのFTPサーバーです。本節では、CentOS 7.6 64ビットOSのTencent Cloud Server(CVM)を例に、vsftpdを使用してLinux CVMのFTPサービスを構築します。
ソフトウェアのバージョン
本文では、作成したFTPサービスのコンポーネントバージョンは次のとおりです:
Linux OS :本節では、公開イメージCentOS 7.6を例に説明します。
Vsftpd:本節では、vsftpd 3.0.2を例に説明します。
操作手順
ステップ1:CVMにログインする
手順2:vsftpdのインストール
1. 次のコマンドを実行し、vsftpdをインストールします。
2. 次のコマンドを実行し、vsftpdをスタートアップ時に自動起動に設定します。
3. 次のコマンドを実行し、FTPサービスを起動します。
4. 次のコマンドを実行し、サービスが起動されているかどうかを確認します。
netstat -antup | grep ftp
次の結果が表示され、FTPサービスが正常に開始されたことを示します。
このとき、vsftpdはデフォルトで匿名アクセスモードを有効化しており、ユーザー名およびパスワードを必要とすることなくFTPサーバーにログインできます。この方法でFTPサーバーにログインするユーザーには、ファイルを変更またはアップロードする権限がありません。 手順3:vsftpdの設定
1. 次のコマンドを実行して、FTPサービス用のLinuxユーザーを作成します。本節では、ftpuserを例に説明します。
2. 次のコマンドを実行して、ftpuserユーザーのパスワードを設定します。
パスワードを入力したら、** Enter **キーを押して確認します。デフォルトではパスワードは表示されません。本節では「tf7295TFY」を例にしています。
3. 次のコマンドを実行して、FTPサービスが使用するファイルディレクトリを作成します。本節では、「/var/ftp/test」を例にしています。
4. 次のコマンドを実行して、ディレクトリの権限を変更します。
chown -R ftpuser:ftpuser /var/ftp/test
5. 次のコマンドを実行し、「vsftpd.conf」ファイルを開きます。
vim /etc/vsftpd/vsftpd.conf
6. iを押して編集モードに切り替え、必要に応じてFTPモードを選択し、設定ファイルvsftpd.conf
:を変更します
ご注意:
FTPは、アクティブモードとパッシブモードでクライアント端末に接続してデータを転送できます。ほとんどのクライアント端末のファイアウォール設定および実際のIPアドレスを取得できないため、パッシブモードを選択してFTPサービスを構築することをお勧めします。次の変更では、パッシブモードの設定を例として説明します。アクティブモードを選択したい場合は、FTPアクティブモードの設定に進んでください。 6.1 以下の構成パラメータを変更し、匿名ユーザーとローカルユーザーのログイン権限を設定して、指定された例外ユーザーリストファイルのパスを設定し、IPv4 socketsのリスニングを有効にします。
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
6.2 行の先頭に#
を付けて、listen_ipv6=YES
構成パラメータに注釈を付け、IPv6 socketsのリスニングを無効にします。
6.3 以下の構成パラメータを追加し、パッシブモードを有効にし、ローカルユーザーがログインした後のディレクトリ、およびCVMがデータ転送を確立するために使用できるポート範囲の値を設定します。
local_root=/var/ftp/test
allow_writeable_chroot=YES
pasv_enable=YES
pasv_address=xxx.xx.xxx.xx
pasv_min_port=40000
pasv_max_port=45000
7. Escを押して、:wqと入力し、保存して終了します。
8. 次のコマンドを実行して、chroot_list
ファイルを作成して編集します。
vim /etc/vsftpd/chroot_list
9. iを押して編集モードに入り、ユーザー名を入力します。1つのユーザー名が1行に収まり、設定が完了すると、Escを押し、**:wqを入力して保存して終了します。
設定するユーザーの権限はルートディレクトリに限定されていません。例外ユーザーを設定する必要がない場合は、この手順をスキップでき、:wq**を入力してファイルを終了します。
10. 次のコマンドを実行し、sshサービスを再起動します。
手順4:セキュリティグループの設定
FTPサービスを構築した後、実際に使用するFTPモードに従って、Linux CVMにインバウンドルールをインターネットにオープンする必要があります。詳細については、セキュリティグループルールの追加 をご参照ください。
ほとんどのクライアント端末はLANにあり、IPアドレスが変換されたものです。FTPのアクティブモードを選択した場合は、クライアントマシンが真のIPアドレスを取得したことを確認してください。取得していない場合、クライアントがFTPサーバーにログインできない場合があります。 アクティブモードの場合:ポート21を開きます。
パッシブモードの場合:ポート21と、および 設定ファイルの変更 で設定されているpasv_min_port
からpasv_max_port
までのすべてのポートを開きます。(本節では、ポート40000~45000を開きます)。 手順5:FTPサービスの検証
FTPクライアントソフトウェア、ブラウザ、またはファイルエクスプローラなどのツールを使用してFTPサービスを検証できます。本節では、クライアントのファイルエクスプローラを例に説明します。
1. クライアントのInternet Explorerを開き、ツール>インターネットオプション>詳細設定を選択し、選択したFTPモードに応じて変更します:
アクティブモードの場合:「パッシブFTPを使用する」のチェックを外します。
パッシブモードの場合:「パッシブFTPを使用する」のチェックを入れます。
2. 次の図に示すように、クライアントでWindowsエクスプローラーを開き、アドレスボックスに次のアドレスを入力して、Enterキーを押します:
3. ポップアップされた「ログインID」画面に vsftpdを設定する で設定されたユーザー名とパスワードを入力します。
本節で使用するユーザー名が「ftpuser」、パスワードが「tf7295TFY」です。 4. ログインが成功したら、ファイルをアップロード及びダウンロードできます。
付録
FTPのアクティブモードの設定
アクティブモードで変更が必要な設定は次のとおりであり、それ以外の設定項目はデフォルトのままにします:
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
allow_writeable_chroot=YES
local_root=/var/ftp/test
Esc を押して:wqを入力し、保存して終了します。手順8 に進み、vsftpdの設定を完了します。 FTPクライアントからのファイルアップロード処理がエラー
問題の説明
Linuxシステム環境では、vsftp経由でファイルをアップロードする時に、下記のようなエラー情報が表示されます。
553 Could not create file
ソリューション
1. 次のコマンドを実行し、サーバーのディスク領域の使用率を確認します。
ディスクに十分な空き容量がない場合、ファイルをアップロードできないため、ディスク上の大容量のファイルを削除することをお勧めします。
ディスク容量が十分な場合は、次のステップを実行してください。
2. 次のコマンドを実行し、FTP ディレクトリへの書き込み権限があるかどうかを確認します。
戻された結果に「w」がない場合は、当該ユーザーに書き込み権限がないことを示し、次のステップを実行してください。
返された結果の中にw
があれば、チケットを提出 してフィードバックしてください。 3. 次のコマンドを実行し、FTPディレクトリへの書き込み権限を付与します。
4. 次のコマンドを実行し、書き込み権限が正常に設定されたかどうかを再度確認します。
この記事はお役に立ちましたか?