2121是什么端口(端口2121属于)

手把手教你在linux下搭建一个FTP服务器(2)

照例,还是先说下FTP的工作原理。就是本地共享一些文件/目录,客户机可以通过访问,连接进入,能上传和下载数据。端口的话,FTP控制连接,说使用的是TCP 21端口,用于发送FTP命令信息。FTP的数据连接所使用的端口号是 TCP 22端口,用于上传和下载数据。数据连接的话,分为主动模式和被动模式,一般都是被动模式,主动模式需要关闭客户机的防火墙。。。所以,你懂的。。。

另外FTP的用户分为,匿名用户,本地用户和虚拟用户。匿名就是FTP和anonymous,密码任意。虚拟用户是通过一个本地账号虚拟映射为多虚拟账号。今天我们这里讲的是linux/unix系统下的vsftp。客户机的话,windows直接可以访问,linux需要安装ftp命令。

========================================================

1:准备工作

yum -y install vsftpd安装vsftpd

/etc/init.d/iptables stop关闭防火墙

setenforce 0关闭selinux

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.$(date+%Y%m%d%H)给主配置文件做备份,后面的是年月日小时。

chmod ftp /var/ftp/pub给默认共享目录权限

=======================================================

12 anonymous_enable=YES允许匿名访问

15 local_enable=YES允许本地访问

18 write_enable=YES允许修改(修改的总开关)

22 local_umask=022本地用户的权限是755

27 anon_upload_enable=YES匿名允许上传

31 anon_mkdir_write_enable=YES允许匿名创建目录

35 dirmessage_enable=YES显示文件列表

42 connext_from_port_20=YES20端口连接

47 chown_upload=YES属主可上传

48 chown_username=whoever属主用户名是 whoever

62 data_connection_timeout=120120秒后,连接超时

96 chroot_local_user=YES开启本地用户家目录锁定

117 pam_service_name=vsftpdpam验证服务的脚本名是vsftpd

118 userlist_enable=YESuserlist开始使用(里面记录的本地用户账号不能登陆)

其他配置:

listen=YES开启监听

listen_address=192.168.137.11监听地址

listen_port=2121监听端口

pasv_enable=YES开启被动模式

pasv_min_port=24500被动模式端口下限

pasv_max_port=24600被动模式端口上限

max_clients=2000最大15000,最大客户连接数,一般不限制

max_per_ip=2每个IP限制最多打开几个客户端工具,一般不限制

anon_max_rate=50000匿名最大传输速率,一般不限制

local_max_rate=20000本地用户最大传输速率,一般不限制

可添加的:

anon_other_write_enable=YES匿名用户可以有其他写入权限(删除、重命名等)

anon_umask=022匿名用户的umask值

/etc/vsftpd下的ftpusers文件是ftp服务的黑名单,写入账号之后,永久不能登陆

user_list文件写入账号之后,可通过主配置文件写入 userlist_deny=NO 不拒绝uerlist登陆

=====================================================

2:设置虚拟映射账号

需要先创建本地映射账号,指定家目录/var/ftproot,并且指定不能登陆

chmod 777 /var/ftproot给需要映射账号的家目录修改权限,或用chown改变该家目录的属主

在/etc/vsftpd下,创建虚拟用户账号密码列表文件test.list

db_load -T -t hash -f test.list test.db用test.list生成test.db数据库文件,允许非Berkeley程序使用该数据库,指定hash算法,-f是指定源文件的。(如果电脑里没有db_load命令,需要先安装db4-utils。)

chmod 600 test.*修改有关用户密码文件的权限,增强安全性

增加pam认证

vim /etc/pam.d/vsftpd.vu 手动创建此pam认证文件

内容为:

authrequiredpam_userdb.sodb=/etc/vsftpd/test

accountrequiredpam_userdb.sodb=/etc/vsftpd/test此处不加.db,用为前面是db=

在主配置文件内,加入允许虚拟用户登陆:

guest_enable=YES

guest_username=test

在/etc/vsftpd/下创建test.dir/目录,里面创建虚拟用户文件:如 test1 test2 test3

在每个虚拟用户文件内,配置每个用户的不同权限,格式为:

anon_upload_enable=YES允许匿名用户上传

anon_mkdir_write_enable=YES允许匿名用户写目录

anon_other_write_enable=YES允许匿名用户其他写的权限

anon_max_rate=1匿名用户传输的最大速度是1K,如果写0的话,是不限速

local_root=/var/test指定家目录

给每个账户都设置好权限后,需要在主配置文件内加入:

user_config_dir=/etc/vsftpd/test.dir指定用户配置目录

==================================================

3:客户机测试

客户机可用ftp FTP服务器IP 连接服务器

匿名用户用ftp 密码任意登陆服务器

登陆进入服务器之后,可用命令:

mkdir创建目录

rmdir删除目录

cd切换路径

get下载

put上传

mdir创建多个目录

mget下载多个文件/目录

mput上传多个文件/目录

ls列表

delete删除文件

mdelete删除多个文件

?显示可用命令

==================================================

4:给VSFTP服务做日志

在主配置文件内加入:

xferlog_std_format=YES

xferlog_file=/var/log/xferlog手动添加,使FTP服务日志文件保存为/var/log/xferlog

==================================================

当然大家可以用可相互ping通的windows主机测试,在地址栏里直接输入 ftp://FTP服务器IP 就能进入,再右键有登陆,就可以了。

到此。FTP服务器安装测试完毕。大家一起共同学习进步,有不理解的,可以在下方评论回复。希望大家多多关注,给我这个新人多多的支持。谢谢。因为一天只能发一个,所以明天预计发一个DNS的。