この質問が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
システムルートディレクトリにアクセスできないユーザーを一覧表示します。このリストにないユーザーは、まだルートディレクトリにアクセスできます。