fedoraの標準FTPは、vsftpdになりました。
redhat9ではまだWU-FTPDが使用可能でした。
Redhat enterprise Linus WE/ES/AS 3の標準もvsftpdです。
fedoraの標準FTPサーバをWU-FTPD風に使う方法を模索しました。
WU-FTPDでは、ログインしたユーザ毎に、chrootするディsレクトリの指定が簡単に行えました。
ユーザ abcd では ログイン後のroot を / とする
ユーザ www では ログイン後のroot を /var/www とする
などです。
また、ユーザでログインできるネットワークを限定することもできました。
下記で指定します。
1. vsftpd.conf
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
ls_recurse_enable=YES
use_localtime=YES
userlist_enable=YES (default=NO)
userlist_deny=NO (default=YES)
#userlist_file=/etc/vsftpd.user_list
/etc/vsftpd.user_listに書いてあるユーザのみログインできます。
/etc/vsftpd.ftpusers で指定してあるユーザは/etc/vsftpd.user_list で指定されていても認証でエラーとなります。
chroot_list_enable=YES (default=NO)
chroot_local_user=NO (default=NO)
#chroot_list_file=/etc/vsftpd.chroot_list
etc/vsftpd.chroot_listに書いてあるユーザをchrootします。
通常は、chrootさせたときのルートは,ftpでログインするユーザのホームディレクトリになります。
特定エンドユーザが自分のホームディレクトリ以外いじらせたくない場合,指定する。
ルートの変更するには、ユーザ用設定ファイルを使用します。
user_config_dir=/etc/vsftpd_user_conf
ここで、ユーザ用設定ファイルを含むディレクトリを指定し、そのな中にユーザ名と同じ名前のファイルを作成し、そのファイルで下記を設定します。
wwwファイルで
local_root=/var/www
と指定します
2. /etc/vsftpd.user_list
abcd
www
3. /etc.vsftpd.chroot_list
abcd
www
4. /etc/vsftpd_user_confディレクトリ
(1)abcdファイル
local_root=/
(2)wwwファイル
local_root=/var/www
ログイン先 192,168.0.128/255.255.255.128 に限定するには
5. /etc/hoast.allow
vsftpd : 192,168.0.128/255.255.255.128 : setenv VSFTPD_LOAD_CONF /etc/vsftpd/192168/vsftpd.conf
6. /etc/vsftpd/schoolnet/192168/vsftpd.conf
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
ls_recurse_enable=YES
use_localtime=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/192168/vsftpd.user_list
chroot_list_enable=YES
chroot_local_user=NO
7. /etc/vsftpd/192168/vsftpd.user_list
abcd
www