> 文章列表 > ftp服务器简单配置【广域网共享文件、精细化配置】

ftp服务器简单配置【广域网共享文件、精细化配置】

ftp服务器简单配置【广域网共享文件、精细化配置】

问题描述

之前我们有配置过samba,但是其仅限用于 局域网,并不适合于广域网间的共享文件。

FTP(File Transfer Protocol)将会是一个很好的选择!

基于 TCP/IP 的编程

0.查询是否安装

rpm -qa | grep ftp

1.安装软件包

查询ftp相关软件包

yum list | grep ftp

2.查询装了什么

rqm -ql vsftpd

查询文档

man vsftpd.conf

尝试启动

service vsftpd start

默认只能下载不能上传不能删除

这里我们尝试连接一下

放文件

ftp默认的目录地址为/var/ftp/pub

我们尝试复制一些文件进去

cp ./* /var/ftp/pub

我们查看一下是否有对应的文件

ls /var/ftp/pub

ftp服务器简单配置【广域网共享文件、精细化配置】

查看ip

ifconfig

查询到ip后,我们尝试连接

ftp 对应ip地址

默认用户名:ftp

默认密码:

出现这样的结果表示连接成功

ftp服务器简单配置【广域网共享文件、精细化配置】

这里我们可以尝试查看当前所有支持的命令——help

ftp服务器简单配置【广域网共享文件、精细化配置】

获取文件

记得改变一下文件目录cd pub进入查看文件

ftp服务器简单配置【广域网共享文件、精细化配置】

直接通过get命令下载文件

ftp服务器简单配置【广域网共享文件、精细化配置】

出现上述结果,表示传输成功

我们可以尝试!ls查询自己当前本地的文件

尝试上传文件

put 本地文件

ftp服务器简单配置【广域网共享文件、精细化配置】

尝试删除文件

rm 文件名

ftp服务器简单配置【广域网共享文件、精细化配置】

3.配置ftp

查看配置

切换配置文件目录

cd /etc/vsftpd

去除注释,查看内容

cat vsftpd.conf | grep -v [\\#]

ftp服务器简单配置【广域网共享文件、精细化配置】

umask:扣除权限 (0022)

umask:扣除权限(0022)

扣除同组 和 其他用户的 write权限

协议端口

connect_from_prot_20=yes
  • 21:传送指令(get、put)
  • 20:传送数据(数据通道)——很大,很长!

两者建立连接后,客户端将主动发送指令至21端口,服务端响应指令。

客户端告诉服务端从一个 1024 ~ 65535 中随机选择一个端口进行传输;

服务端忠实的向这一端口发送数据,但是这样会有什么样的问题呢?

我们要想到,客户端 和 服务端之间会有一个 防火墙,它将对端口进行限制,对未开放的端口传输的数据将会直接拦截。

因此,若客户端随机选择一个端口接受数据,可能将会被 防火墙拦截!

所以,这里我们就设置 20传输数据的通道

密码验证机制

pam_service_name=vsftpd

开启监听

listen=yes

若不开启,则无法绑定至IP

匿名用户登录功能

所有匿名用户都登录到相同的目录——/var/ftp(用于构建公共下载)

通过man vsftpd查看修改参数——anno_root

当我们在vsftpd.conf文件中添加anno_root尝试启动,但是会提示没有对应权限

不允许登录的本地账号

/etc/vsftpd/ftpusers

系统级账号

在命令模式按o末尾添加

1.创建一个本地账号

useradd ftpuser

2.创建密码

passwd ftpuser

3.重启服务

service vsftpd restart

ftp服务器简单配置【广域网共享文件、精细化配置】

4.尝试登录

将会登录至/home/用户名

ftp服务器简单配置【广域网共享文件、精细化配置】

然后通过pwd查看当前目录

我们开始尝试突破安全控制,尝试访问不属于我用户的目录

我们cd ..回到上一级,就可以看到所有的用户了!

ftp服务器简单配置【广域网共享文件、精细化配置】

也就是说,这样就会可能造成安全问题!!!!(虽然我这里只是简单回到上一级,但是linux中一切皆文件,一切信息都会存放至文件,若是有不法分子进入,将可能造成难以估量的后果 !!!)

锁定本地用户目录

若我们不限制这一项,用户将会随便访问系统任意位置的文件,可能造成信息泄露的危险

chroot_local_user=YES

将ftp本地用户禁锢在宿主目录

ftp服务器简单配置【广域网共享文件、精细化配置】

重启服务

service vsftpd restart

继续尝试

继续以ftpuser登录,通过pwd看看当前我的目录是什么

ftp服务器简单配置【广域网共享文件、精细化配置】

但是我们一般不进行这样操作,因为这样的用户将会被允许远程登录系统,存在安全隐患!

用户访问控制

/etc/vsftpd/user_list

首先需要使用userlist_anble = YES确保这个是可以使用的

默认userlist_deny = yes——默认在这个文件的用户名都是黑名单(拒绝访问)

我们可以尝试将刚才创建的user(ftpuser)加入至当前文件中

ftp服务器简单配置【广域网共享文件、精细化配置】

wq,保存并退出

这里其实并不需要重启了,因为每次需要登录时 ftp都会去扫描该文件

我们尝试以ftpuser继续登录一下

ftp服务器简单配置【广域网共享文件、精细化配置】