オリジナルリンク:https://help.ubuntu.com/lts/serverguide/ftp-server.html
FTPサーバ
FTPは、ファイル転送プロトコルは、ファイル転送プロトコルは、TCPプロトコルのコンピュータ間でファイルをダウンロードしています。FTPプロトコルはまた、以前にアップロードするために使用されますが、合意には、暗号化を使用しないため、平文の資格情報とユーザーデータが簡単に傍受することができます。あなたは安全なダウンロードファイルをアップロードする方法を見つけたい場合は、あなたが見ることができ、リモート管理 OpenSSHのセクションを。
FTP 客户端/服务端
の動作モード。サーバー・コンポーネントは、FTPデーモン(FTPデーモン)と呼ばれ、それがクライアントからFTP要求を監視していきます。要求に応じて、それはログインし、接続設定を検証します。会話の中には、FTPクライアントから送信されたコマンドを実行します。
あなたは、FTPサーバにアクセスするには2つの方法を設定することができます。
- アノニマス
- 認証
匿名モードでは、クライアントは、名前の使用することができanonymous
たりftp
、パスワードとして電子メールアドレスを使用して、FTPサーバーにアクセスするためのデフォルトのアカウントを。認証モードでは、ユーザーは、アカウントとパスワードを持っている必要があります。実際の認証モードは、(資格情報とデータはクリアテキストで送信)安全な特別な事情がない限りない、または使用すべきではありません。あなたが安全にファイルを転送したい場合は、SFTPでのOpenSSH-サーバーを見ることができます。ログインに応じて、ユーザーアカウントのアクセス許可は、FTPサーバのディレクトリやファイルへのアクセス権を持っています。通常、FTPデーモンは、FTPサーバのルートディレクトリを隠し、代わりにFTPホームディレクトリを使用します。これは、リモートセッションでファイルシステムの残りの部分を非表示になります。
vsftpdは - FTPサーバのインストール
Ubuntuは、一般的にはvsftpd FTPデーモンを使用している、セットアップと保守、簡単にインストールできます。vsftpdのをインストールするには、次のコマンドを実行できます。
sudo apt install vsftpd
匿名FTPの設定
デフォルトでは、匿名のダウンロードを許可しないように構成されたvsftpdの。あなたは匿名のダウンロードを有効にする場合は、編集することができます/etc/vsftpd.conf
:
anonymous_enable=Yes
vsftpdのインストールプロセスは、名前の作成ではftp
、ユーザーが、ユーザーのホームディレクトリがある/srv/ftp
、これはデフォルトのFTPディレクトリです。
あなたは、インスタンスの変更のために、デフォルトのFTPディレクトリを変更したい場合は/srv/files/ftp
、あなただけのこのディレクトリを作成し、FTPユーザのホームディレクトリを変更する必要があります。
sudo mkdir /srv/files/ftp
sudo usermod -d /srv/files/ftp ftp
効果の再起動vsftpdのを取るように設定を変更した後:
sudo systemctl restart vsftpd.service
さて、あなたは、FTP、少しの友人が匿名FTPで訪問することができ、ユーザのホームディレクトリにコピーしたフォルダを共有したい任意のファイルまたはファイルを置くことができます。
FTP認証の設定
デフォルトでは、vsftpdのは、認証されたユーザーのみに設定されているファイルをダウンロードすることができます。あなたは、ユーザーがファイルをアップロードできるようにしたい場合は、編集することができます/etc/vsftpd.conf
:
write_enable=YES
有効にするにはvsftpdの設定を再起動する必要があります。
sudo systemctl restart vsftpd.service
さて、ユーザーがFTPにログインすると、あなたは自分のホームディレクトリに行うことができ、ダウンロード、アップロード、ディレクトリや他の操作を作成します。
デフォルトでは、vsftpdのは、匿名ユーザーがFTPサーバーにファイルをアップロードすることはできません。この設定を変更するには、設定ファイルに次の行、および再起動vsftpdのコメントを解除しなければなりません。
anon_upload_enable=YES
匿名FTPアップロードは偉大なセキュリティ上のリスクになります許可します。サーバーは、インターネットから直接アクセスすることができれば、それは匿名のアップロードを有効にしないことをお勧めします。
設定ファイルは、設定パラメータの多くが含まれています。設定ファイル内の各パラメータについての情報が記述されています。このページには、男を確認することができman 5 vsftpd.conf
、各パラメータの詳細については、。
セキュアFTP
/etc/vsftpd.conf
より安全vsftpdを作ることができ、構成ファイル内のいくつかのオプションがあります。たとえば、あなただけのホームディレクトリにアクセスすることができ、次の行をコメントアウトすることにより、ユーザーを制限することができます。
chroot_local_user=YES
あなたはまた、唯一の自分のホームディレクトリにアクセスできるユーザーの特定のリストを制限することができます。
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
コメントの2行の撤退後、作成し/etc/vsftpd.chroot_list
たファイルを、ユーザーの行ごとの名前、および再起動vsftpdのを記述します。
sudo systemctl restart vsftpd.service
また、/etc/ftpusers
ファイルがアクセスFTPに許可されたユーザーのリストに記録することができます。デフォルトのリストには含まれてroot
、daemon
、nobody
のように。他のユーザーのために無効にFTPアクセスするには、単にリストに追加します。
FTPはまた、FTPSを使用して暗号化することができます。別のSFTPでは、FTPS FTPセキュアソケットレイヤ(SSL、Secure Socket Layer)をベースです。FTP SFTPは、暗号化されたSSHセッションに基づいて、接続と呼ばれます。一つの大きな違いは、SFTPのユーザーではなくnologinのシェルよりも、システム上のシェルアカウントを持っている必要があるということです。(共有ウェブホストなど)すべてのユーザーにいくつかのシェル環境を提供するための理想的な選択肢ではないかもしれません。しかし、このようなアカウントはまだのみSFTPを無効対話型シェルに制限することができます。詳細については、OpenSSHの-サーバーを参照してください。
configure FTPSには、次のように編集することができます/etc/vsftpd.conf
最後に追加し、:
ssl_enable=Yes
また、あなたは証明書や鍵関連のオプションを追加する必要があります。
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
デフォルトでは、これらのオプションは、SSL-CERTパッケージで提供される証明書とキーに設定されます。本番環境では、これらの証明書は、特定のホストの生成されたキーと証明書を交換する必要があります。証明書の詳細については、次のように表示することができ、証明書を。
すぐに再起動vsftpdが、非匿名ユーザーがFTPSを使用するように強制されます。
sudo systemctl restart vsftpd.service
許可されているように/usr/sbin/nologin
、ユーザーがアクセスFTPシェルが、アクセスシェルは、あなたが編集することができますことはできません/etc/shells
シェルnologinのアドオンを:
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/usr/sbin/nologin
デフォルトでは、vsftpdは認証のためにPAMを使用しているため、これが必要です/etc/pam.d/vsftpd
設定ファイルが含まれています:
auth required pam_shells.so
シェルは、上のモジュールの制限PAM /etc/shell
殻に記載されているファイルへのアクセスを。
最も人気のあるFTPクライアントは、FTPS接続を使用するように設定することができます。lftpのコマンドラインFTPクライアントは、FTPSを使用することができます。
引用文
- より詳細な情報については、参照vsftpdのウェブサイトを。
- より詳細な/etc/vsftpd.confオプションの場合、あなたが見ることができるvsftpd.confのmanページを。