ボックスには約30人のユーザーがいます。それらのユーザーは重複するグループ(約6〜10グループ)に属しています。 FTPを使用するときに、グループの割り当てに基づいて特定のフォルダーに移動できるようにする必要があります。
つまり、group1->/tmp/site1 group2->/tmp/site2
これは、SuSEボックスのVSFTPでまったく可能ですか? SFTPの使用は残念ながらオプションではありません。
ありがとう!
編集:ユーザーが複数のグループに属している場合は、アクセスできるさまざまなフォルダーを表示するために必要な最上位のフォルダーにそれらをダンプするだけです。
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グループに属する任意のユーザーを介してログインします。他の上位レベルのディレクトリに移動することはできません。
複数のグループのリストに複数のエントリを作成できます。これらのグループがリストファイルにある順序は、私が信じている最上位のディレクトリを決定します。
お役に立てば幸いです。トーマス
いくつかのオプションがあります。
ユーザーのホームディレクトリを必要なディレクトリ(/ etc/passwd内)に設定し、グループメンバーシップを構成し、vsftpdを構成してそれらをホームフォルダーにchrootします。
echo chroot_local_user=YES >> /etc/vsftpd/vsftpd.conf
何らかの理由で実際にローカルアクセスが必要な場合は、状況が少し複雑になるため、#2に進みます。
#1のようにユーザーをホームフォルダーにロックしますが、/ etc/passwdのホームフォルダーは変更しないでください。代わりに、ホームフォルダー内のアクセスが必要なディレクトリにマウントポイントを追加します。
mount --bind /tmp/site1 /home/ftp_user/site1
これは、ユーザーによる追加のクリックが必要ですが、ホームディレクトリを正しく設定できます。
さらに、毎日のcronジョブを実行してメンバーシップを再確認し、グループメンバーシップが変更された場合にホームフォルダー/マウントポイントを調整します。
このようなシナリオは、proftpd + mod_mysqlに完全に適しています。
これはすべて、proftpdに切り替えた場合にのみ可能ですが、本番環境では明らかにこれを使用していないので、それほど大きな問題ではないと思います。