基于VSFTPD的ftp服务的搭建-实验报告
-
实验环境:fedora 10
-
安装
vsftpd-<version> //主要的包
db4-utils //一个负责生成db的工具包 -
运行
安装好了以后不需要多少修改即可启动服务,默认的配置即可匿名登录。
lftp localhost即可测试本机ftp服务。 -
关于拒绝访问的用户
在/etc/vsftpd 目录下user_list以及ftpuser两个文件记录了不允许访问的用户黑名单。 -
虚拟用户帐户
为了提高系统安全性,以及避免创建大量的系统用户,我们可以创建虚拟用户账户给用户使用。-
首先写好一个用户账户文件,我在/etc/vsftpd下创建了virtualusers这个文件,写入以下内容:
kitty #用户名
123456 #密码
jack54321
为了安全起见,把virtualusers这个文件权限改为640 -
写好后,在当前目录下执行以下这条命令
db_load -T -t hash -f virtualusers virtualusers.db 后面那个文件将被生成在当前目录下面。 -
修改主配置文件 /etc/vsftpd/vsftpd.conf,在最后加入:
guest_enable=YESguest_username=vftpuser #指定登录后以哪个用户名操作
user_config_dir=/etc/vsftpd/vconf #虚拟用户的单独配置
chroot_local_user=YES #启用chroot
user_sub_token=$USER
同时,我们修改anonymous_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO -
若需要修改虚拟用户上传的文件Umask,需要在主配置内加入以下几条:
virtual_use_local_privs=YES
chmod_enable=YES
local_umask=022 -
这样主配置里的匿名用户的使用就给禁用了。接下来我们创建vconf目录,并且在这个目录下创建单用户的配置如下:
kitty文件:
local_root=/var/kitty #登录后的主目录anon_root=/var/kitty #这些配置在登录后会覆盖掉主配置中的选项
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
类似的也创建并写一个jack文件。 -
修改vsftpd的pam的配置
配置文件地址在/etc/pam.d/vsftpd的这个位置。在前面增加如下内容:
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtualusers crypt=hashaccount sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtualusers crypt=hash
如果是64位系统,这里调用lib64 -
最后我们创建/var/jack和/var/kitty这两个目录,并且修改owner为vftpuser
-
重启服务,测试
lftp jack@localhost
之后输入我们配置的密码54321,就会进入自己的主目录了。
-