Linux系统下vsftp服务器搭建(一)
一、搭建环境及所需软件包:
RHEL5.5 + vsftpd-2.0.5-16.el5_4.1.i386 + db4-utils-4.3.29-10.el5.i386
Vsftpd下载地址 http://fr2.rpmfind.net/
二、简述:
FTP命令
get命令用于下载文件,put命令用于上传文件
mget和mput用于一次下载或上传多个文件
bye命令可退出ftp命令交互环境
启动和关闭
启动脚本名称是vsftpd
/etc/rc.d/init.d/vsftpd {start|stop|restart|condrestart|status}
vsftpd服务需要设置在运行级别3和5自动启动
# chkconfig --level 35 vsftpd on
服务启动、重启、停止、状态
# service vsftpd {start/restart/stop/status}
vsftpd服务一览
后台进程:
vsftpd
类型:
System V 服务
使用端口:
20(ftp-data),21(ftp)
配置文件:
/etc/vsftpd/vsftpd.conf
/etc/pam.d/vsftpd
日志文件:
/var/log/vsftpd.log
主配置文件vsftpd.conf缺省配置
anonymous_enable=YES
#是否允许匿名访问
local_enable=YES
#是否允许本地/系统用户访问
write_enable=YES
#是否开放对本地用户的写权限
local_umask=022
#本地用户的文件生成掩码
dirmessage_enable=YES
#是否在切换目录时显示其下的.message文件内容
xferlog_enable=YES
#是否启用上传和下载日志
connect_from_port_20=YES
#是否启用FTP数据端口20的连接请求
xferlog_std_format=YES
#是否使用标准的ftpd xferlog日志格式
pam_service_name=vsftpd
#设置PAM认证服务的配置文件名称
userlist_enable=YES
#是否检查userlist_file设置文件中指定的用户是否访问vsftpd服务器
listen=YES
#是否处于独立启动模式
tcp_wrappers=YES
#是否使用tcp_wrappers作为主机访问控制方式
注意:配置文件中没有出现的配置项,将使用默认配置。并于配置项的默认配置请使用:#man 5 vsftpd.conf 进行查看
三、vsftp创建虚拟用户:
步骤:
建立虚拟用户口令库文件
生成vsftpd的认证文件
建立虚拟用户所需的PAM配置文件
建立虚拟用户所要访问的目录并设置相应权限
设置vsftpd.conf配置文件
操作步骤:
1、建立虚拟用户口令库文件,如:/etc/logins.txt
口令库文件中奇数行设置用户名,偶数行设置口令 :
# touch /etc/logins.txt
# vi /etc/logins.txt
用户1
密码
用户2
密码
用户3
密码
…………
2、生成vsftpd的认证文件
使用db_load命令生成认证文件
# db_load -T -t hash -f /etc/logins.txt /etc/vsftpd/vsftpd_login.db
“db_load”由db4-utils-4.2.52-7.1(版本号可能不一样)软件包安装
3、设置认证文件只对所有者可读可写
# chmod 600 /etc/vsftpd/vsftpd_login.db
4、建立虚拟用户所需的PAM配置文件
修改文件/etc/pam.d/vsftpd文件,内容如下(建议将原有文件备份,再将文件原内容全部清空,加入以下内容):
auth required /lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
注:此命令中,对应系统进行相应的修改例Centos-32位系统为……/lib/……,Centos-64位系统则为……/lib64/……
/etc/pam.d/vsftpd文件原内容:
#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include system-auth
#account include system-auth
#session include system-auth
#session required pam_loginuid.so
5、建立虚拟用户及要访问的目录并设置相应的权限
建立所有虚拟用户帐号使用的系统用户帐号并设置宿主目录的权限
# useradd -d /home/ftpsite dhwl(此用户是与虚拟用户进行关联的本地用户)
# chmod 700 /home/ftpsite
6、设置vsftpd.conf配置文件
在配置文件中添加虚拟用户的配置内容:
guest_enable=YES
guest_username=dhwl
pam_service_name=vsftpd
7、重新启动vsftpd服务程序
对vsftpd.conf文件修改后需要重新启动vsftpd服务程序
# service vsftpd restart