本文讲述FreeBSD5.3下的vsftp虚拟用户设置,由于网络环境不是很大,因此没有采用其他的数据库,而是使用chpwdfile直接编辑生成用户数据库文件。
使用adduser添加虚拟用户ftpuser,在ports中安装vsftpd
/usr/local/etc/vsftpd.conf配置:
anonymous_enable=YES
anon_root=/home/FTProot/pub/
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
local_enable=YES
local_root=/home/FTProot/
write_enable=NO
idle_session_timeout=60
chroot_local_user=YES
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd
user_config_dir=/usr/local/etc/vsftpd_user_conf
#performance_config
max_clients=50
max_per_ip=2
anon_max_rate=30720
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to IT@ANY FTP service.
secure_chroot_dir=/usr/local/share/vsftpd/empty
使用chpwdfile生成vsftpd.pwd于/usr/local/etc/下,这是虚拟用户的用户名和密码文件:
usr:mvorTgCgxOoEo
administrator:CrpNA8c1k70zM
详细命令参见man,chpwdfile需要在ports中安装
/usr/local/etc/pam.d/vsftpd配置如下,指定pam的相关参数:
auth required pam_pwdfile.so pwdfile /usr/local/etc/vsftpd.pwd
account required pam_login_access.so
其中pam_pwdfile.so需要在ports中安装
/usr/local/etc/vsftpd_user_conf/usr:
anon_world_readable_only=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_max_rate=102400
max_per_ip=2
这是普通用户帐号的配置
/usr/local/etc/vsftpd_user_conf/administrator:
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=5120000
这是管理员帐号的配置