手把手教你在linux下搭建一个FTP服务器(2)
照例,还是先说下FTP的工作原理。就是本地共享一些文件/目录,顾客机可以通过访问,联接步入,能上传和下载数据。端口的话,FTP控制联接,说使用的是TCP21端口,用于发送FTP命令信息。FTP的数据联接所使用的端标语是TCP22端口,用于上传和下载数据。数据联接的话,分为主动模式和被动模式linux 常用命令,通常都是被动模式,主动模式须要关掉顾客机的防火墙。。。所以,你懂的。。。
另外FTP的用户分为linux ftp用户密码,匿名用户,本地用户和虚拟用户。匿名就是FTP和anonymous,密码任意。虚拟用户是通过一个本地帐号虚拟映射为多虚拟帐号。明天我们这儿讲的是linux/unix系统下的vsftp。顾客机的话,windows直接可以访问,linux须要安装ftp命令。
========================================================
1:打算工作
yum-yinstallvsftpd安装vsftpd
/etc/init.d/iptablesstop关掉防火墙
setenforce0关掉selinux
cp/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.$(date+%Y%m%d%H)给主配置文件做备份,前面的是年月日小时。
chmodftp/var/ftp/pub给默认共享目录权限
=======================================================
12anonymous_enable=YES容许匿名访问
15local_enable=YES容许本地访问
18write_enable=YES容许更改(更改的总开关)
22local_umask=022本地用户的权限是755
27anon_upload_enable=YES匿名容许上传
31anon_mkdir_write_enable=YES容许匿名创建目录
35dirmessage_enable=YES显示文件列表
42connext_from_port_20=YES20端口联接
47chown_upload=YES属主可上传
48chown_username=whoever属主用户名是whoever
62data_connection_timeout=120120秒后,联接超时
96chroot_local_user=YES开启本地用户家目录锁定
117pam_service_name=vsftpdpam验证服务的脚本名是vsftpd
118userlist_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匿名最大传输速度linux解压rar,通常不限制
local_max_rate=20000本地用户最大传输速度,通常不限制
可添加的:
anon_other_write_enable=YES匿名用户可以有其他写入权限(删掉、重命名等)
anon_umask=022匿名用户的umask值
/etc/vsftpd下的ftpusers文件是ftp服务的黑名单,写入帐号以后linux ftp用户密码,永久不能登入
user_list文件写入帐号以后,可通过主配置文件写入userlist_deny=NO不拒绝uerlist登录
=====================================================
2:设置虚拟映射帐号
须要先创建本地映射帐号,指定家目录/var/ftproot,而且指定不能登入
chmod777/var/ftproot给须要映射帐号的家目录更改权限,或用chown改变该家目录的属主
在/etc/vsftpd下,创建虚拟用户帐号密码列表文件test.list
db_load-T-thash-ftest.listtest.db用test.list生成test.db数据库文件,准许非Berkeley程序使用该数据库,指定hash算法,-f是指定源文件的。(假如笔记本里没有db_load命令,须要先安装db4-utils。)
chmod600test.*更改有关用户密码文件的权限,提高安全性
降低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/目录,上面创建虚拟用户文件:如test1test2test3
在每位虚拟用户文件内,配置每位用户的不同权限,格式为:
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:顾客机测试
顾客机可用ftpFTP服务器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的。
文章评论