具体步骤:
1、安装vsftpd软件
查看当前系统是否安装vsftpd软件:
rpm -q vsftpd
查看光盘中的vsftpd软件包:
ls /media/Server/*vsftp*
安装vsftpd服务器软件:
rpm -ivh /media/Server/vsftpd-2.0.5-16.el5.i386.rpm
2、查看vsftp服务器的配置和主要目录
可以执行命令:
rpm -ql vsftpd
目录和文件列表如下:
/usr/sbin/vsftpd vsftpd的主程序
/etc/vsftpd 配置文件所在目录
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd.ftpusers vsftpd服务器的黑名单
/etc/vsftpd.user_list vsftpd服务器的列表
/var/ftp 匿名用户访问的主目录
/var/log/xferlog ftp服务器日志文件
/home/用户宿主目录
/etc/rc.d/init.d/vsftpd vsftpd服务器启动脚本
/etc/pam.d/vsftpd PAM配置文件
3、vsftpd服务器配置
修改vsftpd服务器主配置文件/etc/vsftpd/vsftpd.conf
注意:在配置时,vsftpd的格式是:选项=值
强调,在这里"="两边不能留空白符;
################################分割线 建立基于匿名FTP服务器 案例一###########################
(1) 调整FTP匿名上传目录权限,并准备测试文件
chown ftp /var/ftp/pub
ls -ld /var/ftp/pub
建立或复制一个文件到/var/ftp/pub目录下:
cp /etc/vsftpd/vsftpd.conf /var/ftp/pub/testfile
(2) 修改/etc/vsftpd/vsftpd.conf主配置文件,开发匿名用户访问、上传
anonymous_enable=YES
local_enable=NO
write_enable=YES
anon_umask=022
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
ftpd_banner=Welcome to blah FTP service.
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
(3) 重新启动vsftpd服务
service vsftpd restart
(4) 在客户端访问ftp服务器,测试下载和上传文件功能
方法一:通过ftp命令测试
方法二:浏览器访问测试
方法三:使用cuteftp客户端工具访问测试
################################分割线 建立基于本地用户FTP服务器 案例二###########################
(1) 修改/etc/vsftpd/vsftpd.conf主配置文件,设置本地FTP服务器
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_umask=022
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
ftpd_banner=Welcome to blah FTP service.
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
(2) 重新启动vsftpd服务
service vsftpd restart
(3) 在客户端访问ftp服务器,测试下载和上传文件功能
方法一:通过ftp命令测试
方法二:使用浏览器访问测试
方法三:使用cuteftp客户端工具访问测试
(4) 禁锢本地用户
允许本地用户登陆ftp服务器
通过ftp命令去测试默认情况下本地用户是否被禁锢在其主目录;
修改主配置文件
chroot_local_user=YES
重启服务后,通过ftp命令再次去测试。
################################分割线 建立基于虚拟用户FTP服务器 案例三(课后案例二)###########################
(1) 建立虚拟用户口令库文件
touch file
vi file
奇数行为用户名,偶数行为密码
(2) 生成vsftpd的认证文件
db_load -T -t hash -f file /etc/vsftpd/vsftpd_login.db
chmod 600 vsftpd_login.db
(3) 建立虚拟用户所需的PAM配置文件
cd /etc/pam.d
touch PAM配置文件
vi PAM配置文件
修改为:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
(4) 建立虚拟用户所要访问的目录并设置相应权限
建立用户帐户,使虚拟用户映射到此用户帐户
useradd 用户名
passwd 用户名
此用户宿主目录既是虚拟用户登陆的主目录;
(5) 设置vsftpd.conf配置文件
vi /etc/vsftpd/vsftpd.conf
修改:
guest_enable=YES 启用虚拟用户帐户登陆ftp服务器
guest_username=用户名 指定虚拟用户映射的系统用户帐户
pam_service_name=PAM配置文件 指定虚拟用户的PAM配置文件名称
(6) 保存,重启,测试虚拟用户
(7) 建立虚拟用户配置文件存放的主目录
vi /etc/vsftpd/vsftpd.conf
添加:
user_config_dir=/etc/vsftpd_user_conf
mkdir /etc/vsftpd_user_conf
在此目录中建立与虚拟用户同名的配置文件
(8) 修改不同虚拟用户的配置文件
vi /etc/vsftpd_user_conf/用户
可修改以下参数:
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
(9) 重启服务后测试虚拟帐户
4、ftp其他参数的测试
1、超时设置
#空闲连接超时
idle_session_timeout=600
#数据传输超时
data_connection_timeout=120
2、信息类设置
ftpd_banner=欢迎消息
dirmessage_enable=YES
#目录信息文件
message_file=.message
3、用户连接测试
#可接受的最大client数目
max_clients=100
#每个ip的最大client数目
max_per_ip=5
4、传输速率设置
#匿名用户的传输比率(bytes/s)
anon_max_rate=51200
#本地用户的传输比率(bytes/s)
local_max_rate=5120000