CentOS7でFTPサーバーを設定する方法

CentOS7でFTPサーバーを設定する方法

FTP は主にファイル転送に使用され、Linux では vsftpd で実装されるのが一般的です。FTP サーバーをセットアップすることでファイル共有が実現できます。これは、少なくとも、質の悪い Baidu ネットワーク ディスクよりははるかに優れています。

FTP サーバーを設定するためのオプションの認証方法には、匿名認証、ローカル ユーザー認証、仮想ユーザー認証の 3 つがあります。セキュリティ: 匿名認証 < ローカル ユーザー認証 < 仮想ユーザー認証。構成の複雑さ: 匿名認証 < ローカル < 仮想ユーザー認証。

Linux では、すべてのファイルには対応する所有者がいます。仮想ユーザー認証とは、1 人以上の FTP ユーザーを作成し、それらをローカル Linux ユーザー (vftpuser など) にマッピングすることを意味します。このように、マッピングされたユーザーは、FTP ディレクトリを操作するときにユーザー vftpuser と同等になります。さらに、仮想ユーザー認証モードでは複数の FTP を個別に構成できるため、非常に柔軟で便利です。柔軟性とセキュリティを考慮して、この記事では仮想ユーザー認証モードを使用することを選択します。

はい、始める準備ができました!

1. 基本環境

サーバー: CentOS7.5

クライアント: Ubuntu Mate 18.10

FTP サーバー: vsftpd

FTP クライアント: FileZilla (オプション)

2. 基本的なプロセス

より簡潔にするために、基本的なセットアップ プロセスと関連コマンドのみがリストされています。

1. vsftpdをインストールする

yum で vsftpd をインストールします

2. 仮想ユーザーを作成する

任意のエディターを使用して、次の内容で /etc/vsftpd/vuser.list ファイルを作成し、編集します。

リレイ
lileipasswd
ハンメイメイ
パスワード

パスワード認証ファイルの奇数行にはユーザー名が含まれ、偶数行には対応するパスワードが含まれます。

3. パスワード認証データベースを作成する

db_load -T -t ハッシュ -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db

-T: 変形
-t: ハッシュアルゴリズムを指定する
-f: ユーザー名を指定

4. PAM認証ファイルを編集する

次の内容で/etc/pam.d/vsftpd.vuを作成して編集します。

認証が必要です pam_userdb.so db=/etc/vsftpd/vuser
必要なアカウント pam_userdb.so db=/etc/vsftpd/vuser

dbは、サフィックスなしでパスワード認証データベースを指定します。

5. ローカルユーザーを作成する

useradd -d /home/vftpuser -s /sbin/nologin vftpuser
chmod 755 /home/vftpuser

-d: ユーザーのホームディレクトリを指定する
-s: ユーザーのログインシェルを指定します。/sbin/nologin は、セキュリティを向上させるためにユーザーがシェル経由でログインすることを禁止します。

6. FTPユーザーをvftpuserにマップする

/etc/vsftpd/vsftpd.confを編集し、次の行を変更します。

pam_service_name=vsftpd.vu # pam認証ファイルを指定します guest_enable=YES # マッピングを有効にします guest_username=vftpuser # マッピングするローカルユーザーを指定します user_config_dir=/etc/vsftpd/vusers_dir # FTPユーザー設定ファイルの場所を指定します。各ユーザーを個別に設定する必要がない場合は、この行をコメントアウトできます

7. 各ユーザーを個別に設定する

/etc/vsftpd/vuser_dirを作成し、各FTPユーザーに対して同じ名前の設定ファイルを作成します。ここでは、 lilei例として使用します。次の内容で/etc/vsftpd/vuser_dir/lileiを作成して編集します。

匿名アップロードを有効にする=はい
anon_mkdir_write_enable=はい
匿名書き込み有効=はい
ローカルルート=/var/www/html

デフォルトのルート ディレクトリは、マップされたユーザーのホーム ディレクトリです。local_root を通じてユーザーのルート ディレクトリを指定できます。このディレクトリの所有者を vftpuser に変更する必要があることに注意してください。

8. vsftpdを再起動する

systemctl は vsftpd を起動します

3. 注意事項

  • サーバーの再起動後にアクセスできなくなるのを防ぐために、vsftpd を起動リストに追加します。
  • FTP サーバーにアクセスできない場合は、ファイアウォールと SElinux の設定を確認してください。
  • パスワード認証データベースを生成した後、パスワード漏洩を防ぐためにリスト ファイルを適時に削除します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Centos7 FTPサーバーを構築する

<<:  WeChatアプレットを少なく使う方法(最適な方法)

>>:  WeChatアプレットでQRコードを識別するために長押しする実装プロセス

推薦する

モバイルデバイス上の 1px 境界線を解決する最善の方法 (推奨)

モバイル デバイス向けに開発する場合、Retina 画面上で要素の境界線が太くなるという問題に遭遇す...

MySQL 5.7 クラスタ構成手順

目次1. サーバーAのmy.cnfファイルを変更する2. サーバーBのmy.cnfファイルを変更する...

Docker で Redis センチネル モードを構成する方法 (複数のサーバー上)

目次序文状態DockerをインストールするRedisのマスターノードとスレーブノードを構成する序文以...

Nginx 書き換えジャンプの適用シナリオの詳細な説明

アプリケーションシナリオ1: ドメイン名ベースのリダイレクト会社の古いドメイン名は www.accp...

優れたWebフォームデザイン事例20選

ソフィー・ハルダッククライドキー埠頭 37 東ソープボックス Rxバランス EEハーバー対比 SVN...

CSS で要素を中央揃えにする N 通りの方法

目次序文インライン要素の中央揃えテキストを垂直に中央揃え要素を水平方向に中央揃えにするブロックレベル...

Linux Autofs 自動マウント サービスのインストールと展開のチュートリアル

目次1. autofs サービスの紹介2. Autofsのインストールと展開3. Autofs効果の...

CentOS7.x のアンインストールとインストール MySQL5.7 の操作手順とエンコード形式の変更方法

1. MySQL 5.7 のアンインストール1.1查看yum是否安裝過mysql CD yum li...

tomcat8の最新のLinuxインストールプロセス

ダウンロード参考:ダウンロードするコアパッケージを選択してくださいダウンロード後、ファイルをサーバー...

JavaScript の遅延読み込み属性パターンを理解する

従来、開発者はインスタンスで必要になる可能性のあるデータに対して JavaScript クラス内にプ...

リンクをクリックしたときに表示される点線のボックスを削除するいくつかの方法

削除する方法はいくつかあります:リンクを直接追加するonfocus="this.blur(...

Navicat for MySQL チュートリアル

まず、Navicat for MySQL をダウンロードしてインストールする必要があります。正規版の...

MySQL 接続数を設定する方法 (接続数が多すぎる)

mysql使用中に接続数が超過していることが判明しました~~~~ [root@linux-node...