FTPユーザーが特定のサブディレクトリにのみアクセスするように制限する方法は?

FTPユーザーが特定のサブディレクトリにのみアクセスするように制限する方法は?

この質問がStackExchangeに何度も投稿されたことを知っていますが、どのソリューションも私には役に立ちませんでした。

私はUbuntuでvsftpdサーバーを使用しており、特定のサブディレクトリへのユーザーアクセスを制限したい(読み取り専用)。私が見つけたほとんどの解決策は、ユーザーのホームディレクトリを変更すると操作が実行されると言います。

usermod -d /home/subdirectory <username>

以前の設定/etc/vsftpd.conf:

local_enable = YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

にユーザー名を追加します/etc/vsftpd.chroot_list

とにかくブラウザを使うとうまくいきます。指定されたホームディレクトリに接続されますが、親ディレクトリにアクセスできません。

問題はFileZillaを使用するときです。ホームディレクトリに直接接続されていますが、親ディレクトリ(およびその中のファイル)にも表示してアクセスできます。

sftpまた、edit file/etc/ssh/sshd_configとを使用して他の解決策を試しましたが、internal-sftpそのうちの1つも機能しませんでした。

答え1

私は以下を設定してこの問題に対する解決策を見つけました。

chroot_local_user=NO

vsftpd.chroot_listシステムルートディレクトリにアクセスできないユーザーを一覧表示します。このリストにないユーザーは、まだルートディレクトリにアクセスできます。

関連情報