rainingFTPに接続するユーザごとにホームディレクトリを指定し、上位階層へのアクセスを拒否する設定を記載します。FTPサーバ(vsftpd)を使用しており、FTPユーザごとにアクセス制限をかける必要があったので、その時に行った際の手順やvsftpdの設定内容などをメモします。下記の設定を行うことでFTPユーザが上のディレクトリに移動できなくなりました。FTPサーバ(vsftpd)FTP(ファイル転送)サーバの一つです。yumでインストールすることができます。設定手順1.FTPで使用するユーザを作成します。ユーザの作成については、Linux:Linuxのadduserコマンドで新規ユーザを作成するで紹介しています。2.ユーザが作成されたことを確認します。3.vsftpdディレクトリに移動します。/etc/vsftpd/vsftpdディレクトリ内を確認すると下記のようなファイル・ディレクトリが存在します。lschroot_listftpusersuser_listvsftpd.confvsftpd_conf_migrate.shサーバによって存在しないファイルもあります。その場合は必要なファイル、ディレクトリを作成します。4.vsftpd_user_confディレクトリを作成するvsftpd.confの設定に下記の内容を記載します。ユーザごとの設定ファイルを参照する為のパスを記載します。user_config_dir=/etc/vsftpd/vsftpd_user_confvsftpd_user_confディレクトリを作成します。/etc/vsftpd/vsftpd_user_confvsftpdディレクトリ内を確認します。lschroot_listftpusersuser_listvsftpd.confvsftpd_conf_migrate.shvsftpd_user_confvsftpd_user_confディレクトリが作成されたことが確認できます。5.追加したユーザの名前のファイルを作成し、ホームディレクトリを設定します。※FTPの時だけ別のホームディレクトリを指定する場合に記載します。vsftpd_user_conf/hoge新規作成したファイルにホームディレクトリの設定をします。local_root=/var/www/html/hoge6.user_listに新規ユーザを追加し、FTP接続を可能にします。user_listはvsftpd.confの設定により、意味が異なります。vsftpd.conf設定が下記の場合userlist_enable=YESuserlist_deny=NOuser_listファイルを編集します。/etc/vsftpd/user_listuser_listファイルにユーザ名を設定します。userhoge7.追加したユーザが指定したディレクトリより上の階層にいけないように設定します。vsftpd.conf設定が下記の場合chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listchroot_listファイルを編集します。chroot_listchroot_listに追加したユーザを設定します。hoge8.vsftpdを再起動します。]※vsftpd.confを変更していない場合は再起動しなくてもOKです。9.追加したユーザでFTPに接続します。上記で指定した/var/www/html/hogeにアクセスします。上位ディレクトリへアクセスできないことが確認できます。※ファイル、ディレクトリが編集できない場合は、ファイル、ディレクトリの所有者・所属グループを変更する必要があります。ftpusersファイルアクセス制御ファイルの一つです。user_listでユーザを設定していてもftpusersに記載されているユーザーはFTPサーバーにアクセスできません。ユーザーがFTPへ完全に接続させないようにする場合はftpusersにユーザを記載します。user_listファイルvsftpd.confの設定により、user_listの意味が異なります。下記にvsftpd.confの設定内容を記載します。chroot_listファイルvsftpd.confの設定で有効な場合、制限をかけたいユーザーを設定できます。設定したユーザーは上位ディレクトリへの移動ができなくなります。chroot_list_enableをYESにした場合、chroot_list_fileで指定したchroot_listファイルは必須になります。ファイルが存在しない場合、全てのユーザがログインできなくなるので、ユーザいない場合でも、空のファイルを作る必要があります。コメントをキャンセルメールアドレスが公開されることはありません。