IT技术互动交流平台

Linux系统下vsftp服务器搭建

作者:iqdutao  发布日期:2014-01-15 09:17:27
一、搭建环境及所需软件包:
 
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
Tag标签: vsftp  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规