Linux 学习笔记_12_文件共享服务_2_FTP应用--vsftpd

Wu-FTP:古老,配置复杂
Proftp:功能强大
vsftp: 安全,高速,稳定【系统默认的FTP软件】


VSFTP服务器配置

启动:/etc/rc.d/init.d/vsftpd start
【默认启动后即支持用户宿主目录访问及匿名访问】
配置文件:/etc/vsftp/vsftp.conf


一、匿名访问
1、 匿名FTP用户名:ftp、anonymous
此时进入伪用户宿主目录/var/ftp


2、编辑/etc/vsftp/vsftp.conf文件内容
anonymous_enable=YES // 允许匿名访问


xferlog_enable=YES// 激活上传和下载记录的日志
xferlog_std_format=YES
xferlog_file=/var/log/xferlog


ftpd_banner=Welcome....// 显示提示信息,默认此时显示vsftp的版本信息

【写在文件最后即可】
anon_max_tate=100000// 限制匿名用户的最大传输速率为100K/s【不精确值】


3、连接FTP服务器,常用命令
ftp FTP地址
ftp>
ls 查看目录文件
cp - 切换目录(FTP)
bin -二进制传输
lcd -切换下载目录(本地)
get -下载单个文件
mget – 下载多个文件
put -上传文件
mput -上传多个文件
prompt - 关闭交互模式
bye -退出
open FTP地址 - 连接FTP服务器
user -输入FTP服务器的用户名和密码
3、【使用FTP客户端的命令可以实现自动化的上传和下载功能】
1)书写脚本auto.ftp:
open 192.168.16.155
user ftp xiaofang@163.com
bin 
prompt
lcd /ftp.bak
mget *
bye
2)执行脚本
ftp -n < auto.ftp ftp -n > /dev/null

二、用户访问
1、 普通用户默认即支持上传和下载
* 若启用SELinux允许用户上传文件到宿主目录,则执行命令
setsebool -P ftp_home_dir 1/on
setsebool -P allow_ftpd_full_access 1/on
* 或编辑/etc/selinux/config关闭SELinux


2、编辑/etc/vsftp/vsftp.conf文件内容
local_enable=YES// 允许用户登录,必须开启
write_enable=YES
local_umask=022


* local_max_rate=200000//限制用户传输速率为200000KB/s


三、用户访问限制[最好启用]
1、限制指定的用户不能访问,而其他用户都可访问
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list
2、限制指定的用户可以访问,而其他用户不能访问
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list


【书写/etc/vsftpd.user_list文件时注意:每个用户占用一行】


3、设置chroot
chroot作用:在FTP服务器上,用户将自己的宿主目录当成根目录来访问,这样pwd显示的结果为/
编辑/etc/ftpd/vsftpd.conf可以
1)设置所有用户执行chroot
chroot_local_user=YES
2)设置指定用户不执行chroot,即该用户可以访问自己宿主目录之外的目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list


【书写/etc/vsftpd/chroot_list时注意,每个用户占一行】


四、其他设置选项
idle_session_timeout=600 // 用户会话空闲10分钟之后被挂断
max_clients=50 // 服务器总的并发连接数为50
max_per_id=3 // 每个客户机的最大连接数为3
listen_port=10011 // 指定非标准端口为10011【1024以上】,默认端口为21
// 可以屏蔽一般性扫描
访问时使用:ftp 192.168.139.1 10011


【附:】
nmap 端口扫描工具,默认只是扫描知名端口和周知端口
nmap 主机地址
如: nmap 192.168.139.1
指定扫描范围:nmap -p1-65535 192.168.139.1
上一篇:thinkphp nginx 配置


下一篇:MySQL学习笔记_4_MySQL创建数据表(下)