web-dev-qa-db-ja.com

ユーザーを特定のフォルダーに送信するVSFTPD構成

ボックスには約30人のユーザーがいます。それらのユーザーは重複するグループ(約6〜10グループ)に属しています。 FTPを使用するときに、グループの割り当てに基づいて特定のフォルダーに移動できるようにする必要があります。

つまり、group1->/tmp/site1 group2->/tmp/site2

これは、SuSEボックスのVSFTPでまったく可能ですか? SFTPの使用は残念ながらオプションではありません。

ありがとう!

編集:ユーザーが複数のグループに属している場合は、アクセスできるさまざまなフォルダーを表示するために必要な最上位のフォルダーにそれらをダンプするだけです。

4
Publiccert

Vsftpd.confでchrootリストを作成できます

こちらのヘルプ手順を参照してください: http://www.linuxquestions.org/questions/linux-networking-3/vsftpd-chroot-problem-387883/

私はあなたがこの情報の断片を探していると思います:

Ftp-usersグループに属するすべてのユーザーは、ログインするとデフォルトで/ home/ftp-docs/ftp_stuffに移動します。他のディレクトリに移動することはできず、この特定のディレクトリに制限されます。

これをして:

ルートとして次のコマンドを発行して、ディレクトリを作成します。

mkdir -p/home/ftp-docs/ftp_stuff

次にこれを行います:

chgrp ftp-users/home/ftp-docs/ftp_stuff chmod 3777/home/ftp-docs/ftp_stuff

/etc/vsftpd/vsftpd.confに次のように書き込みますchroot_list_enable = YES chroot_list_file =/etc/vsftpd.chroot_list

すべてのftp-usersグループのユーザー名を/etc/vsftpd.chroot_listに入れてから、/ etc/passwdファイルで、ftp-usersグループに属するすべてのユーザーのホームディレクトリを/ home/ftp-docs/ftp_stuffに作成します。次に、以下を実行します。

サービスvsftpdの再起動

次に、/ home/ftp-docs/ftp_stuffに貸し出すftp-usersグループに属する任意のユーザーを介してログインします。他の上位レベルのディレクトリに移動することはできません。

複数のグループのリストに複数のエントリを作成できます。これらのグループがリストファイルにある順序は、私が信じている最上位のディレクトリを決定します。

お役に立てば幸いです。トーマス

4
DaffyDuc

いくつかのオプションがあります。

  1. ユーザーのホームディレクトリを必要なディレクトリ(/ etc/passwd内)に設定し、グループメンバーシップを構成し、vsftpdを構成してそれらをホームフォルダーにchrootします。

    echo chroot_local_user=YES >> /etc/vsftpd/vsftpd.conf
    

    何らかの理由で実際にローカルアクセスが必要な場合は、状況が少し複雑になるため、#2に進みます。

  2. #1のようにユーザーをホームフォルダーにロックしますが、/ etc/passwdのホームフォルダーは変更しないでください。代わりに、ホームフォルダー内のアクセスが必要なディレクトリにマウントポイントを追加します。

    mount --bind /tmp/site1 /home/ftp_user/site1
    

これは、ユーザーによる追加のクリックが必要ですが、ホームディレクトリを正しく設定できます。

さらに、毎日のcronジョブを実行してメンバーシップを再確認し、グループメンバーシップが変更された場合にホームフォルダー/マウントポイントを調整します。

1
eldorel

このようなシナリオは、proftpd + mod_mysqlに完全に適しています。

  1. mysqlを介してユーザーを簡単に管理します。30人以上のシェルユーザーを非常に快適に扱うことができないためです
  2. テーブルのデータに基づいて、ホームディレクトリ、ユーザーのグループを設定する
  3. proftpdがユーザーデータベースから情報を取得するために使用するクエリを変更して、提案したような条件付きタスクを実行できるようにする(グループの重複、選択するホーム)
  4. mysqlを介して使用状況、帯域幅を監視する
  5. 30を超えるユーザーに簡単に拡張できる
  6. ユーザーデータの検索または変更が必要な他の管理タスクにユーザーデータテーブルを使用する
  7. すべてのデータをニースのGUIまたはWebダッシュボードに表示する

これはすべて、proftpdに切り替えた場合にのみ可能ですが、本番環境では明らかにこれを使用していないので、それほど大きな問題ではないと思います。

0
Niko S P