FTP環境設定ソリューション(vsftpd)の詳細な説明

FTP環境設定ソリューション(vsftpd)の詳細な説明

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

インストールコマンド: [root@ink4t ~]# sudo apt-get install vsftpd

インストール後、vsftp の設定ファイルである /etc/vsftpd/vsftpd.conf ファイルが作成されます。

2. FTPユーザーを追加する

このユーザーは FTP サーバーにログインするために使用されます。

[root@ink4t ~]# useradd ftpuser

このようなユーザーを作成したら、これを使用してログインできます。匿名ログインではなく、通常のログインを使用することを忘れないでください。ログイン後のデフォルトパスは/home/ftpuserです

3. FTPユーザーにパスワードを追加する

[root@ink4t ~]# パスワード ftpuser

パスワードを変更するには、パスワードを 2 回入力します。

4. ファイアウォールのポート21を開く

FTPのデフォルトポートは21であり、CentOSはデフォルトで有効になっていないため、iptablesファイルを変更する必要があります。

[root@ink4t ~]# vi /etc/sysconfig/iptables

上の行に 22 -j ACCEPT があります。下に別の行を追加し、同じ内容を入力しますが、22 を 21 に置き換えてから、:wq と入力して保存します。

また、iptablesを実行して再起動します

[root@ink4t ~]# サービスiptablesを再起動します

5. 設定ファイルvsftpd.confを変更する

匿名ユーザーのアクセスを許可し、匿名ユーザーのディレクトリを /home/ftpuser に制限します。

匿名を有効にする=はい 
anon_root=/home/ftpuser

ここで特に注意すべき点は、/home/ftp ディレクトリに w 権限を設定できないことです。これは読み取り専用ディレクトリであるため、そうでない場合はエラーが報告されます。権限を変更するには、

sudo chmod aw /home/ftpuser

ローカルユーザーはアクセスでき、書き込み権限を持つことができます

ローカル有効=はい 
書き込み有効=はい

ログイン後、ローカル ユーザーはホーム ディレクトリに制限されます。同時に、/etc/vsftpd.chroot_list ファイルを使用して、ディレクトリに制限されないユーザーを指定します (たとえば、user1 はディレクトリに制限されないため、このファイルに user1 を書き込む必要があります)。また、ユーザーはホーム ディレクトリを変更できます。

chroot_local_user=はい 
chroot_list_enable=はい 
chroot_list_file=/etc/vsftpd.chroot_list 
allow_writeable_chroot=はい

ユーザー リストを有効にします。リストに含まれていないユーザーはログインできません (したがって、etc/allowed_users に user1、user2、anonymous、ftp を記述する必要があります。最後の 2 つは匿名ログインを表します)

ユーザーリストを有効にする=はい 
ユーザーリスト拒否=いいえ 
ユーザーリストファイル=/etc/allowed_users

これは経験的な項目です。これを設定することで、いくつかのエラーを回避できると言われています。参考文献でも紹介されています。

seccomp_sandbox=いいえ

この時点で、2 つのファイルが関係していることにも気付きました。1 つは /etc/vsftpd.chroot_list で、もう 1 つは /etc/allowed_users です。保存後、これら 2 つのファイルを手動で作成する必要があります。

sudo touch /etc/vsftpd.chroot_list 
sudo touch /etc/allowed_users

次に、/etc/vsftpd.chroot_list 内のユーザーはディレクトリに制限されません。この例では、user1 と記述する必要があります。/etc/allowed_users には、サーバーへのアクセスが許可されているユーザーを記述する必要があります。ここでは、user1、user2、および匿名ユーザー anonymous、ftpuser です。1 行に記述できるユーザー名は 1 つだけであることに注意してください。

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

以下もご興味があるかもしれません:
  • CentOS7 サーバー環境で vsftpd をインストールして設定する方法
  • win2008 r2 サーバー環境設定 (FTP/ASP/ASP.Net/PHP)
  • Linux環境で完全に機能するWU-FTPサーバーを構成する方法
  • Linux環境でのwu-ftpサービスの設定

<<:  PostgreSQL正規表現の一般的な機能の概要

>>:  VUE+Canvasはデスクトップピンボールブロック破壊ゲームのサンプルコードを実装します

推薦する

Linux カーネル デバイス ドライバー仮想ファイル システムに関する注意事項

/******************** * 仮想ファイルシステム VFS **********...

Windowsタイムサーバーの設定方法の詳しい説明

最近、会社のサーバーの時間が不正確で、外部の時間ソースと同期できないことがわかりました。会社はドメイ...

Ubuntu 16.04 64ビット版を3つのステップで32ビットプログラムと互換性を持たせる

ステップ1: システムのアーキテクチャを確認する dpkg --print-architecture...

Windows 環境での MYSQL5.7 設定ファイルの場所のグラフィカル分析

1. MYSQLインストールディレクトリ次のようにコードをコピーします。 select @@bas...

MySQLのバージョンアップ方法を超詳しく解説

目次1. はじめに2. データベースをバックアップする3. オリジナルのMysqlをアンインストール...

Vueはページング機能を実装する

この記事の例では、ページング機能を実装するためのVueの具体的なコードを参考までに共有しています。具...

アバターと国旗の統合を実現する1行のCSSコード

今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。毎年この時期になると、WeChat...

Alibaba Cloud Server で MySQL デュアルマシン ホットスタンバイを手動で実装する 2 つの方法

1. コンセプト1. ホットバックアップとバックアップの違いホット バックアップは高可用性 (HA)...

Vueのライフサイクルについて詳しく説明します

目次序文1. Vue2 のライフサイクルインスタンスのライフサイクルその他のライフサイクルフック2....

アニメーションとトランジションの違い

CSS3アニメーションとJSアニメーションの違いJSはフレームアニメーションを実装しますCSS3はト...

HTMLページの文字セットを指定する2つの方法

1. HTMLページの文字セットを指定する2つの方法方法1: <メタ文字セット="u...

Nodejs での WeChat アプレット メッセージ プッシュの実装

サブスクリプションメッセージテンプレートを選択または作成するWeChat アプレットにログインし、「...

CentOS7でパーティションのサイズを変更する方法

昨日、ある人のシステムのインストールを手伝ったのですが、自動パーティション分割をクリックするのを忘れ...

MySQLで重複行を削除する方法

SQL文 /* MySQL で重複行を削除するいくつかの方法 ---Chu Minfei ---20...