您的位置:首页 > 编程语言 > PHP开发

rhel6下搭建FTP文件传输服务

2013-10-12 00:04 627 查看
FTP文件传输服务
FTP连接方式控制连接:21数据连接:20 (只有在主动模式下才使用)FTP连接模式主动模式被动模式FTP传输模式文本模式二进制模式(一般使用二进制模式传输时,文件不容易出错,特别在交换机和路由器上使用时,可使用binary切换成二进制模式)
FTP用户类型系统用户匿名用户(anonymous; ftp)虚拟用户
在linux主机上是通过vsftpd 软件包实现的.主程序:/usr/sbin/vsftpd服务名: vsftpd主配置文件:/etc/vsftpd/vsftpd.conf黑名单:/etc/vsftpd/ftpusers控制列表: /etc/vsftpd/user_list
和samba服务一样,vsftp配置格式:配置项= 参数常用配置项:全局listen=YES:是否以独立运行的方式监听服务listen_address=192.168.4.1:设置监听的IP地址listen_port=21:设置监听FTP服务的端口号write_enable=YES:是否启用写入权限download_enable=YES:是否允许下载文件userlist_enable=YES:是否启用user_list列表文件userlist_deny=YES:是否禁用user_list中的用户max_clients=0:限制并发客户端连接max_per_ip=0:限制同一IP地址的并发连接connect_from_port_20=YES:允许服务器主动模式pasv_enable=YES:允许被动模式pasv_max(min)_port=2460:设置被动模式最大(最小)端口号tcp_wrappers=YES:是否启用TCP_Wrappers主机访问控制本地
local_enable=YES:是否启用本地系统用户local_umask=022:本地用户所上传文件的权限掩码local_root=/var/ftp:设置本地用户的FTP根目录chroot_local_user=YES:是否将用户禁锢在主目录local_max_rate=0:限制最大传输速率(字节/秒)匿名anonymous_enable=YES:启用匿名访问anon_umask=022:匿名用户所上传文件的权限掩码anon_root=/var/ftp:匿名用户的FTP根目录anon_upload_enable=YES:允许上传文件anon_mkdir_write_enable=YES:允许创建目录anon_other_write_enable=YES:开放其他写入权anon_max_rate=0:限制最大传输速率(字节/秒)
安装启动vsftpd服务后,就可以通过匿名和系统用户进行访问了,匿名用户访问的目录是/var/ftp,匿名用户是以系统用户ftp登陆的,/var/ftp是ftp的宿主目录。而使用普通系统系统用户进行访问时,默认访问的是该用户的宿主目录。可以根据需要编辑配置文件vsftpd.conf,从而设置访问的权限。和samba服务陪置一样,每次配置vsftpd.conf,都需要重启或重新加载服务才能生效servicevsftpd{ restart | reload }基于安全考虑,FTP根目录的权限不允许有写入权限,否则在访问时会报错。
建立虚拟用户建立虚拟用户数据库需使用db_load工具,由db4-utils软件包提供,需要先安装。1.创建用户名和密码列表vi /etc/vsftpd/vusers.listtom123jack456......(用户名和密码分行显示,每一行代表一个用户或密码,1、3、5...奇数行为用户名,2、4、6...偶数行为密码)2.创建Berkeley DB格式的数据库文件 (加密的)cd /etc/vsftpd(切换到vsftpd目录,方便操作)db_load -T -t hash -f vusers.list vusers.db-T :允许非Berkeley DB应用程序使用-t :指定加密算法-f :指定数据源文件( vusers.db为生成的文件)为了提高安全性,应将users.db文件权限设置文600,且删除原有的vuser.list文件,用户的宿主目录权限默认为700,所以需要调整权限以允许访问。3.添加虚拟用户映射帐号useradd -d /var/vsftp -s/sbin/nologin tom-d :指定用户家目录,即FTP的根目录-s :此帐号无需登录shell(vsftpd配置中load_root、anon_root配置项需注释或删除)4.为虚拟用户建立PAM认证文件vi /etc/pam.d/vsftpd.vu

5.修改vsftpd配置,添加虚拟用户支持guest_enable=YES--启用用户映射guest_username=tom--指定映射系统用户名pam_service_name=vsftpd.vu --指定PAM认证文件6.为不同的用户创建独立的配置目录和文件以上步骤已经可以重启服务进行虚拟用户进行访问了,但若要实现不同的虚拟用户有不同的访问权限,可以为每个虚拟用户创建各自的配置文件来实现。mkdir /etc/vsftpd/vusers_dir--创建目录在vsftpd.conf配置文件中指定vi /etc/vsftpd/vsftpd.confuser_config_dir=/etc/vsftpd/vusers_dir
在/etc/vsftpd/vusers_dir/目录中添加与虚拟用户同名的配置文件,在vsftpd服务中,虚拟用户被作为匿名用户进行处理,因此配置项一般以anon_ 开头。例:vi /etc/vsftpd/vusers_dir/tomanon_upload_enable=YESanon_mkdir_write_enable=YES
注:在vsftpd.conf配置文件中添加user_config_dir配置项后,应该给每个用户都建立一个独立的配置文件(可以是空文件),否则该用户可能会无法登录。

本文出自 “远航” 博客,请务必保留此出处http://huyongjun.blog.51cto.com/7380612/1307739
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: