linux vsftp
vsftp的使用
序
工作原理
FTP遵循网络层FTP协议,三次握手建立连接后开始交互。
两个默认端口:
20 —— 数据传输
21 —— 命令传输
注:如果有防火墙,文件传输会PortBB被拦截。信息正常。
常用FTP软件
Wu-FTP:古老、配置复杂
Proftp:功能强大
vsftp:安全、高速、稳定 (推荐)
Windows下常用的FTP服务器软件:
IIS具有FTP服务器的功能
Serv-U是流行的FTP服务器软件
一、ftp的安装
- 查询
rpm -q vsftpd
- 安装
yum -y install vsftpd
或
rpm -ivh vsftpd-2.0.1-5.i386.rpm
- 启动
service vsftpd start
/etc/rc.d/init.d/vsftpd start
默认启动后,即支持普通用户宿主目录访问及匿名访问
二、匿名访问
匿名访问
用户名:
ftp 或 anonymous
密码为空或自己的电子邮箱
ls 等命令初试。
pub文件存在哪里?
通过ftp用户文件分析得知,ftp加目录为/var/ftp #ftp伪用户宿主目录
注意:如果出现连不上或者无法正常使用ftp的状态,先确认是否关闭SELinux
关闭SELINUX
方法1:修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。
方法2:用命令setenforce 0,无需重启。(setenforce的格式:setenforce [ Enforcing | Permissive | 1 | 0 ])。
ftp常用命令
windows中连接
ftp 192.168.88.88
help查看帮助
ls 查看所在目录文件信息
cd 切换FTP上的目录
get 下载单个文件
put 上传
bin 切换到使用二进制传输方式
ascii 切换到文本传输方式 (需要开启ftp相关配置)
lcd 指定下载到本机的哪个目录
prompt 关闭交互模式 直接下载多文件,不再询问
mput 上传多个(先关闭交互模式,多个文件之间用空格分隔)
mget 下载多个
bye 退出
如果已经进入到ftp提示行,可以这样连接到服务器:
ftp>open ip地址
ftp>user 输入用户名
配置文件
vi /etc/vsftpd/vsftpd.conf
------------------------
匿名用户
anonymous_enable=YES 是否允许匿名用户访问 关闭:改为NO
anon_upload_enable=YES 匿名用户允许上传,默认是注释了的
anon_mkdir_write_enable=YES 匿名用户允许创建目录,默认是注释了的
anon_max_rate=1000000 追加 匿名用户最大传输速率为100KB/s (单位:bytes/sec)
记得修改目录Linux文件系统权限!!!
三、日志相关
日志注意三个地方: 尽量要生成日志
xferlog_enable=YES 是否使用日志
xferlog_std_format=YES 日志使用标准的格式
xferlog_file=/var/log/xferlog 日志文件存放的位置 需要开启 以type查看目前的传输方式
编辑的目录 vi /var/log/xferlog
Thu Jan 22 08:08:56 2015 1 192.168.10.2 0 /home/xuelei/aaa.php a _ i r xuelei ftp 0 * c
时间 登陆机器 做的操作数 用的目录 。。。 用户名 服务名 。。
四、用户访问
1、 功能开启
默认普通用户,直接可以登录访问宿主目录
默认可以上传和下载
local_enable=YES
write_enable=YES
local_umask=022 #创建的目录权限为755
local_max_rate=200000 追加用户最大传输速率 为200KB/s
只要系统中的普通用户,默认都能登录FTP,这样有安全隐患
五、访问列表
限制指定用户不能访问,而其他用户可以访问,相关选项
userlist_enable=YES
userlist_deny=YES 现在为黑名单 若为no则为白名单
userlist_file=/etc/vsftpd/user_list
[root@localhost log]# vi /etc/vsftpd/vsftpd.conf
例:限制指定用户能访问,其他用户不能访问 建议设置此项
[root@localhost log]# vi /etc/vsftpd/user_list
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
vi /etc/vsftpd/user_list #一个用户一行
六、限定目录
用户默认可以切换到别的目录,只要有rx权限,都能切换过去
# Users that are not allowed to login via ftp 该目录下的用户不可以登录ftp
vi /etc/vsftpd/ftpusers
例:ftp> cd /tmp
250 Directory successfully changed.
chroot (change root) 让ftp用户把宿主目录当做根目录,这样,就不能切换到别的目录了
配置文件中:
chroot_local_user=YES
与下方的调试不可同时开启,这个默认全部ftp联结者默认/home 为 /
还可以控制哪些用户不受此限制,允许切换到别的有权限的目录
chroot_list_enable=YES 白名单 NO 黑名单
chroot_list_file=/etc/vsftpd/chroot_list #一个用户一行,列表中的用户,不受chroot限制
/etc/vsftpd/chroot_list 需要建立,文件中的用户为显示ftp链接时在根目录下
七、其他
其他设置选项
vi /etc/vsftpd/vsftpd.conf ==> /ftpd_banner
ftpd_banner=Welcome to blah FTP service. 欢迎信息,防止透漏出ftp的软件版本号
欢迎信息变为 welcome to ... 替换了 220 (vsFTPd 2.2.2)
idle_session_timeout=600 空闲10分钟后被挂断
max_clients=50 服务器总并发连接数
max_per_ip=3 每个客户机最大连接数
listen_port=10011 指定一个非标准端口 默认连接端口是21,数据传输是20
扩展:
nmap端口扫描工具
需要安装 yum -y install nmap
Nmap 可以扫描端口
E.g> 这个例子太长,还是放弃吧
nmap 127.0.0.1 扫描自己
Host is up (0.0000090s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ipp
扫描windows下的端口开启情况
[root@localhost log]# nmap 192.168.10.2
Starting Nmap 5.51 ( http://nmap.org ) at 2015-01-22 09:05 CST
Nmap scan report for 192.168.10.2
Host is up (0.00030s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
902/tcp open iss-realsecure 注名端口
912/tcp open apex-mesh
MAC Address: 00:27:13:B8:37:35 (USI)
Nmap done: 1 IP address (1 host up) scanned in 14.26 seconds
*************************************************************************************
nmap 192.168.88.88
nmap默认只扫描知名端口
nmap -p1-65535 192.168.88.88 扫描全部端口(1到65535)
《黑客帝国2》