「Pure-FTPd」の版間の差分
(カテゴリ変更) |
Kusanaginoturugi (トーク | 投稿記録) (→TLS の有効化: 校正) |
||
102行目: | 102行目: | ||
TLS 1 |
TLS 1 |
||
− | その後 {{ic|pure-ftpd.service}} |
+ | その後 {{ic|pure-ftpd.service}} ユニットを[[再起動]]すれば SFTP が使えるクライアント (例: {{Pkg|filezilla}} や [https://www.smartftp.com/ SmartFTP]) でログインができるようになるはずです。 |
== 参照 == |
== 参照 == |
2024年4月26日 (金) 18:35時点における最新版
関連記事
Pure-FTPd はセキュリティを考慮して設計された FTP サーバーです。
目次
インストール
pure-ftpdAUR は Arch User Repository からインストールできます。
サーバーは # systemctl start pure-ftpd
で起動できます。
サーバーを自動的に起動したい場合は # systemctl enable pure-ftpd
を実行してください。
サービスを管理する方法について、詳しくは Systemd#ユニットを使うを参照。
設定
Pure-FTPd の設定は完全に、実行時の引数によって行います。
また、/etc/pure-ftpd.conf
を読み込むラッパースクリプトが存在します。ファイルを読み込んでからそれに対応する引数で Pure-FTPd を起動します。
仮想ユーザーの設定
Pure-FTPd では、実際のシステムユーザーの代わりに仮想ユーザーを使うことができます。
利用可能なユーザーはバックエンドで管理する必要があります。バックエンドを参照してください。
ここでは、デモンストレーションとして、PureDB バックエンドを使用します。以下の2行をアンコメントしてください:
# We disable the anonymous account. NoAnonymous yes # We use PureDB as backend and specify its path. PureDB /etc/pureftpd.pdb
これで認証されたユーザーだけが接続できるようになります。PureDB にユーザーを追加するには /etc/passwd
のようなファイルを作成してから、PureDB を作成するときに使います。
/etc/pureftpd.passwd
ファイルを作成・閲覧・編集するときは、pure-pw
コマンドを使用します:
# pure-pw useradd someuser -u ftp -d /srv/ftp
上記のコマンドで FTP システムユーザーとして使用するユーザー someuser が作成されます。デフォルトでは、作成されたユーザーは /srv/ftp
に chroot されます。そうしたくない場合は -d
を -D
に置き換えてください。
作成したアカウントを使用する前に、変更を適用する必要があります:
# pure-pw mkdb
これで仮想ユーザーは /srv/ftp
内のファイルにアクセスできるようになりました。
pure-pw mkdb
コマンドは先に出てきた /etc/pureftpd.pdb
というファイルを作成します。このファイルには仮想ユーザーに関する全ての情報が格納されます。上記のコマンドを実行したときにサービスを再起動する必要はありません。変更はすぐに反映されます。
ユーザーパスワードの変更
ユーザーのパスワードを変更するには、以下のようなコマンドを実行:
# pure-pw passwd someuser
その後、/etc/pureftpd.pdb
を更新して変更を適用:
# pure-pw mkdb
ユーザーの削除
ユーザーを削除するには、次のコマンドを入力:
# pure-pw userdel someuser
上記のコマンドではユーザーのホームディレクトリは削除されません。手動で削除してください。
ユーザー設定の確認
ユーザーのアカウント設定を確認したいときは、次のコマンドを入力:
# pure-pw show someuser
バックエンド
最低でも一つのバックエンドを指定する必要があります。複数のバックエンドを指定した場合、Pure-FTPd は指定された順番で優先的に使用します。リクエストされたユーザーが含まれている最初のバックエンドが使われます。
利用可能なバックエンド:
/etc/passwd
- MySQL
- LDAP
- PostgreSQL
- PAM
- PureDB
- あるいは自分でバックエンドを 作成
TLS の設定
証明書の作成
詳しくは ドキュメント を参照してください。ここでは概略だけ説明します:
自己署名証明書を作成:
# mkdir -p /etc/ssl/private # openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -sha256 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
パーミッションを設定:
# chmod 600 /etc/ssl/private/*.pem
TLS の有効化
/etc/pure-ftpd.conf
の下の方に TLS のセクションが存在します。TLS の設定をアンコメントして 1
に設定することで FTP と SFTP の両方が有効になります:
TLS 1
その後 pure-ftpd.service
ユニットを再起動すれば SFTP が使えるクライアント (例: filezilla や SmartFTP) でログインができるようになるはずです。