日期:2014-05-16  浏览次数:20668 次

Linux安装FTP服务器并配置虚拟用户账号

?

一、基本内容概述:
1、FTP服务的基本概念
FTP是用于进行文件传输的网络协议
FTP服务中分为服务器和客户机两个角色
2、FTP服务器的传输模式
主动模式:由服务器主动连接客户机建立数据链路
被动模式:FTP服务器等待客户机建立数据链路
3、FTP服务器使用的端口
21端口用于与客户机建立命令链路
在主动模式下服务器使用20端口向客户机建立数据链路


4、安装FTP服务器注意事项:
1)配置服务器IP地址(ifconfig eth0 192.168.1.33 netmask 255.255.255.0)
2)关闭防火墙(service iptables stop)

?

二、实验总结:
1、实验背景:BENET公司由于业务要求,需要假设一台FTP服务器。出于系统稳定和
安全等多方面考虑,决定使用RHEL4作为服务器平台,在其上安装VSFTP软件包。
2、试验拓扑:C\S模式(略)

三、实验步骤:
1、安装vsftp软件包;(第一张安装光盘中)
#rpm -ivh vsftpd-2.0.1-5.i386.rpm
2、建立虚拟用户口令库文件logins.txt(奇数行是用户名,偶数行是口令)
#vi logins.txt
wang
wp123
peng
wp456
3、生成vsftpd的认证文件(/etc/vsftpd/vsftpd_login.db)
1)? 安装3个支持的软件包??? ;
#rpm -ivh db4-java....
#rpm -ivh db4-tcl....
#rpm -ivh db4-utils....
2)? 使用db_load命令生成认证文件;
#db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
3)? 设置认证文件的权限;
#chmod 600 /etc/vsftpd/vsftpd_login.db
4、建立虚拟用户所需的PAM配置文件;
#vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so? db=/etc/vsftpd/vsftpd_login
account required? /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5、建立虚拟用户及要访问的目录并设置相应的权限
#useradd -d /home/ftpsite virtual(貌似需要设置密码才能连上ftp,但设置密码了还算是虚拟用户吗,好纠结啊好纠结)
#chmod 700 /home/ftpsite
6、设置vsftpd.conf配置文件(添加虚拟用户的配置项)
#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
7、重新启动vsftpd服务程序;
#service vsftpd start
8、测试虚拟用户帐号的FTP登录 ;
#ftp localhost
9、对不同的虚拟用户设置不同的权限;
1) 设置主配置文件
在vsftpd.conf文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd_user_conf
2)? 建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf
3)? 为虚拟用户建立单独的配置文件
a.用户配置文件名称与用户名相同
/etc/vsftpd_user_conf/mike
/etc/vsftpd_user_conf/john
b.每个FTP虚拟用户都可以独立设置其权限
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES