我也学vsftpd服务配置
原创
©著作权归作者所有:来自51CTO博客作者llk726的原创作品,请联系作者获取转载授权,否则将追究法律责任
1 VSFTP 概述
FTP, file transfer protocol,这是档案传输的通讯协议,也是一般最常用来传送档案的方式。
FTP 分为两类,一种为PORT FTP,也就是一般的FTP 另一类是PASVFTP,分述如下:
PORT FTP
这是一般形式的FTP,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。第二,由FTP server 端会建立数据传输频道,默认值为20,也就是跟port 20 建立联机,并透过port 20 作数据的传输。
PASV FTP
跟PORT FTP 类似,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。第二,会由client 端做出数据传输的请求,包括数据传输port 的数字。
这两者的差异为何?PORT FTP 当中的数据传输port 是由FTP server 指定,而PASV FTP 的数据传输port 是由FTP client 决定。通常我们使用PASV FTP,是在有防火墙的环境之下,透过client 与server 的沟通,决定数据传输的port。
主动FTP:
命令连接:客户端 >1024端口 -> 服务器 21端口
数据连接:客户端 >1024端口 <- 服务器 20端口
被动FTP:
命令连接:客户端 >1024端口 -> 服务器 21端口
数据连接:客户端 >1024端口 -> 服务器 >1024端口
2、vsftpdr 的安装
vsftpd-2.0.5-10.el5
3、安装支持包和配置文件:
a.安装必要的支持文件
db4-utils-4.3.29-9.fc6
db4-4.3.29-9.fc6
db4-devel-4.3.29-9.fc6
b、配置
第一步:建立本地虚拟用户
useradd -d /opt/ftp-server -s /sbin/nologin virtual
新建virtual用户,指定主目录为/opt/ftp_server(该目录实际存在)
第二步:建立虚拟用户数据文件
用户手工建立文本文件logins.txt
vi /home/logins.txt
download
pwd@123
upload
pwd@456
admin
pwd@000
注:奇数行为用户名,偶数行为密码.
第三步:建立数据库文件并设置文件属性
db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_login.db
第四步:建立基于vsftpd_login的PAM授权文件[此处也可用mysql建立用户信息]
vi /etc/pam.d/ftp内容如下
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
第五步: 建立vsftpd.conf文件
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
listen=YES
pam_service_name=ftp
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd_user_conf
virtual_use_local_privs=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
第六步: 建立针对虚拟用户库中不同用户的权限文件
(virtual主目录下有三个文件夹:download,upload,admin)
download文件内容(只能下载权限)
=====================
local_root=/opt/ftp_server/
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
upload文件内容(可上传权限)
local_root=/opt/ftp_server/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=NO
admin文件内容(管理权限)
local_root=/opt/ftp_server/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
第七步:防火墙配置开放
-A INPUT -s 192.168.10.0/255.255.255.0 -d 192.168.10.100 -i eth1 -p tcp --dport 20 -j ACCEPT
-A INPUT -s 192.168.10.0/255.255.255.0 -d 192.168.10.100 -i eth1 -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.10.0/255.255.255.0 -d 192.168.10.100 -i eth1 -p tcp --dport 30000:30999 -j ACCEPT
第八步: 启动vsftpd和iptables
service vsftpd restart
service iptables restart
第九步:测试
下一篇:Php基础入门
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
配置Vsftpd服务器
配置Vsftpd服务器/etc/vsftpd/vsftpd.conf文件详解#################匿。
linux战地日记 上传 重命名 虚拟用户 -
Linux服务配置-vsftpd服务配置虚拟用户登录
手动安装和配置vsftpd的虚拟用户模式,文件方式
vsftpd linux服务 -
我见过最好的vsftpd配置教程(转)
环境:CentOS 5.0 操作系统一.安装:1.安装Vsftp
vsftpd 虚拟用户 配置文件 ci