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

推薦する

Vue3 でサードパーティのコンポーネントライブラリをオンデマンドでロードする方法

序文Element Plus を例に、コンポーネントとスタイルのオンデマンド読み込みを構成します。環...

Vueモバイル端末は左スライド編集と削除の全プロセスを実現します

序文プロジェクトのニーズに応じて、Vue-touch を使用して、vue モバイル端末の左スワイプ編...

JavaScript でウェブ プレーヤーを実装する

今日は、JavaScript を使用して Web ページ上にプレーヤーを作成する方法を紹介します。誰...

Javascriptはセキュリティ検証に整合性属性を使用します

目次1. スクリプトタグを使用してファイルをインポートする1. ローカルファイルをインポートする2....

Linuxはscpコマンドを使用してファイルをローカルコンピュータにコピーし、ローカルファイルをリモートサーバーにコピーします。

以下のように表示されます。リモート サーバーのファイルをローカルにコピーします。 scp -r -P...

Ubuntu にグラフィック ドライバーが正常にインストールされたかどうかを確認する方法

次のコマンドを実行します: glxinfo | grep レンダリング結果が「はい」の場合、グラフィ...

XHTMLにおけるH1タグの位置について

最近、H1 については多くの議論が行われていますが (記事のコンテンツ ページ内)、おおよそ 2 つ...

Vue イメージ ドラッグ アンド ドロップ ズーム コンポーネントの使用方法の詳細な説明

Vueイメージドラッグアンドドロップズームコンポーネントの具体的な使い方は参考までに。具体的な内容は...

Docker+jenkins+python3環境を使用して非常に詳細なチュートリアルを構築する

序文:自動化を記述した後、毎日サーバー上で実行する必要があります。このような問題に遭遇しました。Je...

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

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

1分でVueが右クリックメニューを実装

目次レンダリングインストールコードの実装カスタムスタイル要約する効率的に要件を満たし、車輪の再発明を...

MySQL 8の新機能ROLEの詳しい説明

MySQL ROLE はどのような問題を解決しますか?プロフェッショナルな資質を持ち、権限管理に細心...

Reactコンポーネント通信の詳細な説明

目次コンポーネント通信の概要コンテンツ3つの方法まとめコンポーネントコミュニケーション - 父から息...

JavaScript ES 新機能ブロックスコープ

目次1. ブロックスコープとは何ですか? 2. ブロックスコープが必要なのはなぜですか? 3. 関数...

Vue 折りたたみ表示の複数行テキスト コンポーネントの実装コード

折りたたみ表示の複数行テキストコンポーネント複数行のテキスト コンポーネントを折りたたんで表示し、展...