vsftpd ubuntu のインストールと構成。 ユーザーのホームフォルダーの設定

26.03.2019 携帯電話会社

高速で安全な FTP サーバーについて、今日はこのデーモンの構成の基本的な側面を見ていきます。 ここでは、最も一般的に使用される vsftpd 構成パラメーターであると考えられるものを見ていきました。 vsftpd は構成が非常に柔軟であり、いつでも自分用の特別な方法で構成できることを忘れないでください。 考えられるすべての設定パラメータは、デーモンの man ページで詳しく説明されています。このサーバーに興味があり使用している人には、少なくとも簡単に確認することを強くお勧めします。 今後の vsftpd の記事では、仮想 FTP ホストのセットアップ、仮想ユーザー認証、SSL 暗号化などについて見ていきます。

前の記事で説明したように、vsftpd 構成ファイルは さまざまなシステムデフォルトでは、次の異なる場所に配置されます。

  • FreeBSD 内 - /usr/local/etc/vsftpd.conf
  • Fedora の場合 - /etc/vsftpd/vsftpd.conf
  • Debian の場合 - /etc/vsftpd.conf

に変更を加えた後、 設定ファイル vsftpd を再起動することを忘れないでください。 FreeBSD の場合:

# /usr/local/etc/rc.d/vsftpd 再起動

Debian/Fedora の場合:

# サービス vsftpd の再起動

アクセス制御

vsftp のインストール プロセス中に、そのアカウント名を持つユーザーがシステムに追加されることに注意してください。 ftp。 このアカウントの目的は、匿名 FTP ディレクトリへのアクセスを整理することです。 デフォルトでは、vsftpd は匿名ユーザーにアカウントのホーム ディレクトリへの読み取りアクセスを許可します。 ftp。 必要がない場合は、対応するパラメータの値を変更して無効にすることを忘れないでください。

匿名有効=いいえ

匿名ユーザーの FTP サーバーへのアクセスが許可されている場合は、さらに匿名ログインのパスワード要求を無効にすることができます。

No_anon_password=YES

通常、ローカル システム ユーザーのアクセスはデフォルトで無効になっています。 必要に応じて、次のように有効にできます。

ローカル有効=YES

ローカル ユーザーがホーム ディレクトリを超えてローミングできないようにするには、次の制限を有効にします。

Chroot_local_user=YES

別の方法を使用することもできます chrootすべてのユーザーが制限されるわけではなく、明示的に定義されたユーザーのみが制限されます。 これを行うには、パラメータ値を設定する必要があります chroot_local_user等しい いいえ、対象となるユーザーのリストを含むファイルを作成します。 chroot行動しなければなりません(たとえば、 /etc/vsftpd.chroot_list) を作成し、次の 2 つのパラメータを定義します。

Chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list

上記で定義した 2 つのパラメータを使用すると、パラメータ値が chroot_local_user等しい はい、 それ アカウントファイルに記載されている chroot_list_file制限の対象にはなりません chroot.

vsftpd への同時接続数を制限したい場合は、スーパーサーバー機能を使用する方法と、デーモンが実行されている場合の 2 つの方法があります。 オフラインモード、パラメーターを使用します (もちろん、10 を必要な同時接続の許可数に置き換えます)。

最大クライアント数=10

デフォルトでは、vsftpd 設定により、新しいファイルとディレクトリを作成するための FTP コマンドが無効になっているため、ローカル ユーザーはデフォルトでホーム ディレクトリへの書き込みアクセスを取得できません。 これはパラメータを定義することで簡単に修正できます 書き込み可能:

書き込み可能=YES

サーバー設定のパラメータの後 書き込み可能と等しく設定 はいそして 匿名有効化として定義される はい匿名ユーザーによる新しいファイル/ディレクトリの作成に関するアクセスを制御できます。 匿名ユーザーに新しいディレクトリの作成を許可します。

Anon_mkdir_write_enable=YES

匿名ユーザーにファイルとディレクトリの削除と名前変更を許可します。

Anon_other_write_enable=YES

匿名ユーザーが新しいファイルをアップロードできるようにします。

Anon_upload_enable=YES

オフラインサーバーモードでは匿名ユーザーのデータ交換速度を制限できます 次のパラメータ(値はバイト/秒で示されます):

Anon_max_rate=1024

デフォルトでは、vsftpd ファイルの umask は次と同じです。 077 つまり、ファイルは所有者に対してのみ読み取り/書き込み可能に作成されます。 パラメータを使用して匿名ユーザーの umask 値を変更できます。 anon_umask:

Anon_umask=022

ローカルのものの場合はパラメータを使用します local_umask:

Local_umask=022

必要に応じて、ユーザーがサーバーからファイルをダウンロードできないようにすることができます。

ダウンロード有効=いいえ

ファイル所有者の実際の ID をユーザー ID に置き換えて隠すと便利な場合があります。 ftp:

Hide_ids=YES

ネットワーク設定

vsftpd がスタンドアロン モードで実行されている場合 しねっとの場合は、これを明示的に指定する必要があります。

聞く=はい

IPv6 についても同様です (デーモンは同時に IPv4 または IPv6 のいずれかでしか動作できないことに注意してください)。

Listen_ipv6=YES

次のパラメータを使用して、デーモンが「ハング」する IPv4 アドレスを決定できます。

リッスンアドレス=192.168.0.1

Listen_address6=fe80:0:0:0:202:b3ff:fe1e:8329

必要に応じて、クライアントが PASV モードを使用する機能を無効にすることができます。

Pasv_enable=いいえ

その他

バージョン 2.0.7 以降、vsftpd は次のパラメーターを定義すると、失敗したダウンロードを削除できます。

失敗したアップロードの削除=YES

デフォルトでは、vsftpd はファイルのタイムスタンプを GMT で表示します。 サーバーの現地時間に従って表示する必要がある場合は、次のオプションを使用します。

FTP またはファイル転送プロトコルはかなり古いものですが、同時にファイルをアップロードするための信頼性と実績のあるプロトコルです。 リモートサーバーまたはダウンロードしてください。 また、このプロトコルは、Web マスターがファイルを管理したり、データ ストレージを整理したりするために使用される場合もあります。

この記事では、その方法を見ていきます FTPインストール Ubuntu 16.04 ですべてを構成する方法 必要なコンポーネント安全な接続を含む。 FTP サーバー VSFTPD または Very Secure FTP Daemon を使用します。 信頼性の高い保護脆弱性から。

このプログラムは公式リポジトリから入手できるため、Ubuntu Server 16.04 に FTP をインストールしても問題は発生しません。 まず、リポジトリ内のパッケージのリストを更新してから、プログラム自体をインストールします。

sudo aptアップデート
$ sudo apt install vsftpd

インストールが完了したら、サービスを有効にする必要があります vsftpdデフォルトでは開始されないため、サービスをスタートアップに追加します。

sudo systemctl start vsftpd
$ sudo systemctl vsftpdを有効にする

ufw ファイアウォールがインストールされており、Ubuntu サーバーに FTP をインストールしようとするとこの状況が発生する場合は、ポート 20 と 21 を開く必要があります。 通常動作。 これを行うには、次のコマンドを実行します。

sudo ufw 許可 20/tcp
$ sudo ufw 許可 21/tcp
$ sudo ufwステータス

Ubuntu FTP のインストールは完了しましたが、次は必要なものをすべて設定するだけです。 安全な作業。 本番ネットワークでは、安全ではないため、デフォルト設定の FTP サーバーを決して使用しないでください。

FTP Ubuntu のセットアップ

それではセットアップに進みましょう。 FTP サーバーを完全に保護するには、いくつかのパラメータを変更するだけです。 最初に最も明白な設定を見ていきます。 匿名ログイン等々。 まずコピーする必要があります 元のファイル問題が発生した場合にすべてを元の状態に戻すための設定:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

次に、エディタでファイルを開きます。

sudo vi /etc/vsftpd.conf

次に、これらの設定を追加します。 指定した文字列の値を検索して変更する必要があります。すでに存在する場合は、新しい値を追加しないでください。 まず、匿名ログインを無効にします。

匿名有効 = いいえ

ローカル ユーザー名の使用を許可してログインします。

write_enable = はい

値を設定する umask FTP 経由で作成された新しいファイルの場合:

local_umask = 022

登録後にディレクトリを選択する必要があるというメッセージが含まれています。

dirmessage_enable = はい

すべてのファイル転送トランザクションをログ ファイルに記録し、次を使用します。 標準フォーマットログ:

xferlog_enable = はい
xferlog_std_format=YES

データ送信にはランダムではなくポート 20 を使用します。これは通常のファイアウォールの動作に必要です。

connect_from_port_20 = はい

着信接続を待つ必要があることを示します。

PAMサービスを利用する vsftpd:

pam_service_name=vsftpd

最後に、ファイルにリストされているユーザーのみの認証を許可しましょう ユーザーリスト:

userlist_enable = はい

仮想ユーザーでファイルを指定します。

userlist_file=/etc/vsftpd.userlist

デフォルトでは、そのようなユーザーはログインを許可されませんが、まったく逆のことが必要なので、次の行を追加します。

ユーザーリスト拒否=いいえ

ユーザーが FTP サーバーにログインすると、FTP ルート ディレクトリでのみ作業できます。 ユーザーをホーム フォルダーのみに制限したい場合は、次の行のコメントを解除する必要があります。

chroot_local_user = はい
allow_writeable_chroot = YES

最初の行は、ユーザーを分離されたホーム ディレクトリに配置する必要があることを示し、2 行目は、ユーザーがこのディレクトリへの書き込みを許可できることを示します。 FTP設定 Ubuntu はほぼ完了しています。設定ファイルへの変更を保存して再起動します。 vsftpd:

sudo systemctl 再起動 vsftpd

vsftpdのテスト

サーバーの準備はできていますが、システムはまだ完全には構成されていません。 まず、次を使用してテスト ユーザーを作成しましょう ユーザー追加:

sudo useradd -m -c "テストユーザー" -s /bin/bash testuser
$ sudo passwd テストユーザー

FTP サーバーに代わって接続したいので、それを vsftpd.userlist に追加する必要があります。

エコー「テスター」 | sudo tee -a /etc/vsftpd.userlist
$ cat /etc/vsftpd.userlist

ここで、FTP サーバーに接続し、そこですべてがどのように動作するかを確認します。 匿名ユーザーとしてログインしてみましょう。

成功しないでしょう。 ここで、テスト ユーザーとしてログインしてみます。すべてが正常に機能するようになります。

ユーザーに書き込みアクセス権を与えるのは危険であることに注意してください。 ホームフォルダー。 これは必要かつ安全であると確信できる場合にのみ行ってください。

ユーザーのホームフォルダーの設定

何らかの方法でセキュリティの問題を回避するには、ホーム フォルダーの代わりに別のフォルダーを使用してユーザーにフォルダーを提供します。 まず、ユーザー用に次のようなフォルダーを作成しましょう。

sudo mkdir -p /home/testuser/ftp/files

FTP フォルダーの書き込み権限を削除しましょう。

sudo chown none:nogroup /home/testuser/ftp
$ sudo chmod a-w /home/testuser/ftp

次に、サブフォルダーへの書き込みに必要なアクセス許可をユーザーに与えます。

sudo chown -R testuser:testuser /home/testuser/ftp/files
$ sudo chmod -R 0770 /home/testuser/ftp/files/

次に、vsftpd.conf 構成ファイルに戻りましょう。 まず次の行をコメントアウトします。

allow_writeable_chroot = YES

次に、次の行を追加します。

user_sub_token = $USER
local_root=/home/$USER/ftp

1 つ目はユーザー名を含む変数 $USER を追加し、2 つ目は変数 $USER を追加します。 ルートフォルダユーザーごとに。 残っているのは、FTP サーバーを再度再起動することだけです。

sudo systemctl 再起動 vsftpd

そのユーザーとして再度ログインできるようになり、指定したフォルダーが現在使用されていることがわかります。

安全な接続のセットアップ

Ubuntu 16.04 への FTP のインストールは完了しましたが、現在、ネットワーク経由でオープン データ転送を使用するのは安全ではありません。 可能なものはすべて暗号化する必要があります。 したがって、vsftpd の安全な接続を設定する方法を見ていきます。 まず、フォルダーを作成し、使用する証明書自体を生成しましょう。

sudo mkdir /etc/ssl/private
$ sudo openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.pem

次に、保護されたポートへのアクセスを許可する必要があります。 FTP接続 UFW ファイアウォールから:

sudo ufw 許可 990/tcp
$ sudo ufw 許可 40000:50000/tcp
$ sudo ufwステータス

残っているのは、FTP サーバー自体の設定にいくつかの変更を加えるだけです。 有効にする必要があります ssl_enable暗号化サポートを無効にする sslv2そして sslv3、私たちはただ残します tlsv1:

ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=いいえ
ssl_sslv3=いいえ

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

匿名ユーザーが SSL 経由でログインできないようにします。

allow_anon_ssl=いいえ
Force_local_data_ssl=YES
Force_local_logins_ssl=YES

次に、最も複雑な SSL 暗号をインストールしましょう。

ssl_ciphers=高

そして、データ転送用のポートの範囲を構成します。

pasv_min_port=40000
pasv_max_port=50000

サービスを再起動する必要があります:

sudo systemctl 再起動 vsftpd

では、得られたものをテストしてみましょう。

これで、すべてのデータが暗号化された接続を介して送信されるようになります。 Ubuntu FTPサーバーのインストールが完了しました。

結論

この記事では、Ubuntu Server 16.04 に FTP をインストールする方法と、SSL 経由の設定など、セキュリティを最大限に高めるための FTP の構成方法について説明しました。 ご質問がございましたら、コメント欄でお尋ねください。

サーバー側では、管理のために MySQL が外部にインストールされ、保護されます。 足りないのは FTP サーバーだけです。 誰もが、を使用してホスティングにファイルをアップロードすることにすでに慣れています。 FTPクライアントなので、インストールして設定する以外に何もする必要はありません。 仮想サーバー FTPのサポート。

リナックス膨大な数の FTP サーバーが作成されましたが、私はそれが気に入っています vsftpd。 取り付けは簡​​単で、その機能は完璧に機能します。 設置用 vsftpdターミナル ウィンドウで次のコマンドを実行します。

Apt-get install vsftpd

Debian 7 に vsftpd をインストールするには、文字通り 2 分かかります。

vsftpdのセットアップ

すべての vsftpd 設定はファイルに保存されます /etc/vsftpd.conf。 nano エディターで開き、いくつかの調整を加えてみましょう。

Nano /etc/vsftpd.conf

設定ファイルで最初に行う必要があるのは、匿名ユーザーの接続の禁止を設定することです。 選択肢を見つける 「匿名有効」そしてそれに値を割り当てます "いいえ"。 次に、オプションのコメントを解除します 「ローカル有効」そして 「書き込み可能」。 最初のオプションでは、システムに登録されているユーザーがサーバーにログインできます。 2 つ目では、ユーザーは任意の FTP 書き込みコマンドを実行できます。

構成ファイルの最後のアクションは、オプションのコメントを解除することです。 chroot_local_user。 「Yes」(デフォルト) に設定すると、すべてのシステム ユーザーが chroot 内に存在し、サーバー上の他のディレクトリにアクセスできなくなります。

変更内容を保存 ( Ctrl+O) そしてファイルを閉じます ( Ctrl+X)。 それでは、FTP サーバーの動作をテストしてみましょう。 これを行うには、新しいユーザーを作成し、そのユーザーが FTP 経由でアクセスできるフォルダーをホーム ディレクトリに作成します。

新しいユーザーの追加は、adduser コマンドで行います。 新しいユーザーを作成してみましょう ユーザー:

追加ユーザー ユーザー

ユーザー作成ユーティリティは、いくつかの質問 (パスワード、さまざまなサポート情報) を尋ねます。 追加情報 (電話番号、部屋番号など) を求める質問は、「Enter」キーを押して無視できます。 ユーザーが作成されたと仮定して、次は追加しましょう 新しい集団 webusers にユーザー user を含めます。

Groupadd webusers usermod -G webusers user

今ディレクトリに行くと /家をクリックすると、最近作成された新しいユーザーのフォルダーがその中に表示されていることがわかります。 ユーザーのホーム ディレクトリに 2 つの新しいフォルダーを作成しましょう。

Mkdir /home/user/www mkdir /home/user/logs

1 つ目は外部からアクセスできるファイル (これがホスト ディレクトリになります) を保存し、2 つ目はログの保存に使用されます。 次に、作成したフォルダーの所有者を変更する必要があります。 私たちはそれらを下から作成しました 、つまり、所有者がスーパーユーザーになります。 所有権の変更は chown コマンドで行います。

chown ユーザー:webusers /home/user/www chown ユーザー:webusers /home/user/logs chmod 555 /home/user

これですべての準備手順が完了します。 残っているのは、FTP サーバーを再起動し、何らかのクライアントで接続を試行することだけです。 サービスの再起動 vsftpd従来の方法で実行します。

サービス vsftpd の再起動

構成された vsftpd サーバーのテスト

テストとして、内蔵の接続を試してみましょう Windowsコンソール FTPクライアントと当社のFTPサーバーを接続します。 CMD を開き、次のコマンドを入力します。

FTP

接続を確立した後、プログラムはログイン/パスワードの入力を求めます。 ここに作成したユーザーの詳細を入力します。 認証プロセスが完了したら、送信を開始できます FTPコマンド。 たとえば、dir コマンドは、ftp サーバーにディレクトリのリストを要求します。 実行すると、サーバー上に利用可能なフォルダーが 2 つあることがわかります。 wwwそして ログ.

以上です、インストールと設定 vsftpd完了したとみなされます。

皆さんも時々は システム管理者 FTP サーバーが必要です。ほとんどの場合、これは、確実に情報を交換する必要があるためです。 自動モードアプリケーション間で、たとえば分散自動交換を行う場合 情報ベース 1C、または Web サーバー上のファイルにアクセスします。 今日は、Ubuntu プラットフォーム上にそのようなサーバーを 30 分以内に作成する方法を説明します。

まず最初に、ちょっとした理論を説明します。 FTPプロトコル(File Transfer Protocol) は、その名前が示すとおり、ファイルの転送を目的としており、1971 年に登場しましたが、古いものにもかかわらず、今日まで広く使用され続けています。 今日では、その使用は技術的な性質のものであることが多くなっていますが、 利用者データには通常、ブラウザと HTTP プロトコルを使用してアクセスします。 FTP の利点には、接続が失われたときにファイルのダウンロードを再開できることと、ファイルの読み取りと書き込みを同様に簡単に実行できることが含まれます。 ただし、デメリットもあります。最も深刻な点はセキュリティが低いことであるため、この問題には細心の注意を払う必要があります。

FTP は PPTP と同様に、 さまざまな接続コマンドの送信とデータの送信に使用されます。 接続を開始するとき、クライアントはサーバーのポート 21 に制御コマンドを送信し、サーバーはポート 20 でデータ転送のための発信接続を確立します。クライアント側のポートはネゴシエーションの結果として決定されます。 ただし、クライアントが遅れている場合は、 NAT接続この方法ではインストールできないため、追加の FTPモードパッシブ モード: データ接続がサーバーではなくクライアントによってパラメータを使用して確立される場合 サーバーによって指定される。 FTP を転送するとき、およびネットワーク フィルタを設定するときは、次の点を考慮する必要があります。

私たちのサーバーには使用します vsftpd- シンプル、高速、安全な FTP サーバー。 外部との両方に役立ちますので、 内部ネットワークであれば、この役割を に追加するのが理にかなっています。 サーバーのインストールは非常に簡単です。

Apt-get install vsftpd

サーバーは構成ファイルを通じて構成されます /etc/vsftpd.confシンプルな構造で、十分なコメントがあり、最小限の知識があれば指示なしでサーバーをセットアップできます。 その主なパラメータを考えてみましょう。

サーバーはサービスとして常に起動することも、必要に応じて起動することもできます。最初のオプションの方が適しています。

聞く=はい

このオプションには相互に排他的なエントリがあり、次の形式にする必要があります。

Listen_ipv6=いいえ

ローカル ユーザーのみにログインを許可しましょう。

匿名有効=いいえ
local_enable=YES

ユーザーがファイルを書き込めるようにし、自動的に設定するようにサーバーに指示しましょう。 必要な権利(フォルダーの場合は 755、ファイルの場合は 644):

書き込み可能=YES
local_umask=022

別の権限セット (775 および 664) を設定する必要がある場合は、umask を 002 に設定する必要があります。

デフォルトでは、サーバーは GMT 時間を使用するため、ファイルがタイムゾーンに設定されるようにするには、次のオプションを使用します。

use_localtime=YES

アップロードおよびダウンロードされたファイルのログを有効にしてみましょう。

Xferlog_enable=YES

サーバーがポート 20 (アクティブ モード) でデータを送信するための接続を確立できるようにします。

ポートから接続_20=YES

次のオプションは、ログを保存する場所と形式を指定します。

Xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES

セッションのタイムアウトを設定しましょう。

アイドルセッションタイムアウト=600
データ接続タイムアウト=120

また、セキュリティ上の理由から、ユーザーをホーム ディレクトリに隔離し、すぐにルートへの書き込みを許可します。

Chroot_local_user=YES
allow_writeable_chroot=YES

テキスト データを正しく処理するには、ASCII サポートを有効にすることができます。これにより、転送が可能になります。 テキストファイルWindows システム UNIX (Linux) では、改行を CR+LF から LF に正しく置き換えてコンテンツを正しく表示し、送信時に逆変換を実行します。

Ascii_upload_enable=YES
ascii_download_enable=YES

アップロードまたはダウンロードに関して有効にできるオプションは 1 つだけです。 お振込みの際はご注意ください バイナリーファイル ASCII モードでは、後者が破損する可能性があります。

非常に興味深いオプションです:

Ls_recurse_enable=YES

ディレクトリの再帰的な参照が可能になるため、便利である一方で、たとえば、次の内容を含むディレクトリのリストを取得した場合、サーバーに大きな負荷がかかる可能性があります。 たくさんのファイルとディレクトリ。

他のオプションはすべてデフォルトのままにしますが、サーバーの挨拶は好きなものを記述して編集できます。

Ftpd_banner=Roga i Kopyta LLC FTP へようこそ

構成ファイルの最後で、次の設定を行います。 パッシブモード、サーバーが NAT の背後にある場合、またはファイアウォール ルール内にある場合は、転送中にポートを指定できるように、ポートを明示的に設定することをお勧めします。

Pasv_enable=YES
pasv_min_port=62000
pasv_max_port=62999

サーバーを再起動します (これは、構成を変更した後は毎回実行する必要があります)。

サービス vsftpd の再起動

そして、既存のユーザーの資格情報を使用して任意の FTP クライアントへの接続を試みます。 私たちは彼のホームディレクトリに入り、その中で隔離されなければなりません。

関連するエラーが発生した場合 間違った仕事 vsftpd および seccomp セキュリティ システム:

500 OOPS: prctl PR_SET_SECCOMP が失敗しました

文書化されていないオプションをファイルに追加します。

Seccomp_sandbox=いいえ

ただし、FTP は安全ではないプロトコルなので、誰でもサーバーにアクセスできるようにしてください。 ローカルユーザー今のやり方は最善ではない 最良の選択肢。 この状況を回避するために、vsftpd にはユーザー制御メカニズムが組み込まれています。 設定ファイルにオプションを追加しましょう。

ユーザーリスト有効=YES

そしてユーザーリストファイルを作成します。

/etc/vsftpd.user_list をタッチします

デフォルトの vsftpd 禁止しますで指定されたユーザーのサーバーへのアクセス このリストパスワードを入力する前であっても、つまり 禁止されていないすべての人を許可する原則を実装します。 しかし、別のアプローチを実装する方がはるかに良いでしょう。許可されていない人はすべて禁止されます。 それらの。 許可する指定されたユーザーのみがアクセスできるようになります。 これを行うには、オプションを追加します。

ユーザーリスト拒否=いいえ

これで、明示的に指定されたユーザーのみが FTP サーバーにアクセスできるようになります。 vsftpd.user_list 1 行に 1 つずつ、たとえば次のようになります。

イワノフ
ペトロフ

特に指定のない限り、経由で接続することにより、 FTPユーザー最終的にはホームディレクトリに行きます。 これは必ずしも便利なわけではありません。多くの場合、それらを別のディレクトリにリダイレクトする必要があります。 これが全員に共通のフォルダー (/var/ftp など) の場合は、次のオプションを設定できます。

Local_root=/var/ftp

これにより、すべてのユーザーが次の場所にリダイレクトされます 指定されたディレクトリそして彼らをそこで隔離します。

これが最も単純な状況です 本当の問題通常はもっと複雑ですが、ユーザー Ivanova をルート ディレクトリとして設定する必要があるとします。 /var/www/example1.com、ペトロフ /var/www/example2.comそれぞれが独自のフォルダーで動作するようにします。 これらの目的のために、vsftpd の別の機能を使用できます。 カスタム設定、メイン構成ファイルの設定と重複します。

これを行うには、オプションを追加します。

User_config_dir=/etc/vsftpd_user_conf

次に、ディレクトリ自体を作成します

Mkdir /etc/vsftpd_user_conf

ユーザーを設定するには 独自の設定このディレクトリにユーザーの名前のファイルを作成し、必要なオプションをそれに追加する必要があります。 変更は、次回クライアントが接続するときに FTP サーバーを再起動せずに適用されます。

Ivanov の設定を含むファイルを作成しましょう。

/etc/vsftpd_user_conf/ivanov について

それにオプションを追加します。

Local_root=/var/www/example1.com

次回接続するとき、ユーザーのルート ディレクトリは指定したディレクトリに変更されます。 また、このファイルでは任意の設定を行うことができます 個人的なオプションたとえば、別の umaskまたはファイルのアクセス許可。 ただしここでは使えません 全体設定: 接続オプション、ログ記録、認証、これらは単に無視されます。

隠す必要がある場合 本当の所有者ファイルとフォルダーの場合は、このオプションを使用できます。