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コードを識別するために長押しする実装プロセス

推薦する

Vue の 2 択タブバー切り替えの新しいアプローチ

問題の説明プロジェクトに取り組んでいるときに、タブ バーの切り替え効果を作成する必要がある場合があり...

HTML入力ファイルコントロールはアップロードされるファイルの種類を制限します

入力ファイルの HTML コントロールを Web ページに追加します。 <input id=&...

yum を使用して rpm と関連する依存関係をダウンロードして、docker をオフラインでインストールします。

yum を使用してすべての依存関係を一緒にインストールできますが、–downloadonly –d...

Tomcat を IDEA にダウンロード、インストール、デプロイするチュートリアル (IDEA の 2 つのホット デプロイ設定方法付き)

目次Tomcat ダウンロードチュートリアルTomcat インストールチュートリアルTomcat の...

nginxを使用してドメイン名ベースの仮想ホストを構成する

1. 仮想ホストとは何ですか?仮想ホストは、特殊なテクノロジーを使用して、実行中のサーバーを論理的に...

高さ:100% が機能しないのはなぜですか?

高さ:100% が機能しないのはなぜですか?この知識は不人気ではありませんが、使用する際には混乱する...

MySQL バージョン 5.7.24 のデータベース インストール プロセスの詳細なグラフィック説明

MySQL は最も人気のあるリレーショナル データベース管理システムです。WEB アプリケーションに...

Windows 7 で Python 3.4 を使って MySQL データベースを使用する

Python 3.4でMySQLデータベースを使用する詳細なプロセスは次のとおりです。 Window...

MySQL コマンドラインでよく使われる 18 個のコマンド

日常的なウェブサイトの保守と管理では、多くの SQL ステートメントが使用されます。熟練して使用する...

よく使われるHTMLタグのインライン要素とブロックレベル要素の詳細な説明

ブロック要素HTMLタグ分類の詳細* 住所 - 住所* blockquote - ブロック引用* c...

HTMLタグの説明

HTMLタグの説明1. HTMLタグタグ: !DOCTYPE説明: HTML ドキュメントが準拠する...

Unicode における CJK (中国語、日本語、韓国語の統合表意文字) 文字の概要

CJK は CJK Unified Ideographs の略称で、「中国語、日本語、韓国語の統一表...

vsftpdで仮想ユーザーログインを設定する方法

yum で vsftpd をインストールします [root@localhost など]# yum -...

ハイパーリンクを使用してリンクファイルを開く HTML 方式の紹介

a および href 属性 HTML では、英語ではアンカーと呼ばれるハイパーリンクを表すために &...

ElementUIはドロップダウンオプションと複数選択ボックスのサンプルコードを実装します

目次ドロップダウン複数選択ボックスアップグレード - すべてのオプションを追加改訂と改善を求める製品...