FTP 是一个很实用的文件传输协议,方便在客户端和服务器之间进行文件的传输。
1. 安装并启动FTP服务
安装VSFTPD
- 使用yum安装vsftpd
yum install vsftpd -y
启动VSFTPD
- 安装完成后,启动FTP服务
service vsftpd start
- 启动后,可以看到系统已经监听了21端口(FTP 协议默认使用 21 端口作为服务端口)
netstat -nltp | grep 21
2. 配置FTP权限
目前FTP服务登录允许匿名登录,也无法区分用户访问,我们需要配置FTP访问权限
了解VSFTP配置
vsftpd的配置目录为/etc/vsftpd
,包含下列的配置文件:
-
vsftpd.conf为主要配置文件
-
ftpusers配置禁止访问FTP服务器的用户列表
-
user_list配置用户访问控制
阻止匿名访问和切换根目录
匿名访问和切换根目录都会给服务器带来安全风险(匿名访问让所有人都可以上传文件到服务器上而无需鉴权,而允许切换根目录则可能产生越权访问问题。)
- 编辑/etc/vsftpd/vsftpd.conf 找到下面两处配置并修改
#禁止匿名用户
anonymous_enable=NO
#禁止切换根目录
chroot_local_user=YES(前面有注释符号的话去掉)
- 编辑完成后,保存配置,然后重新启动FTP服务
service vsftpd restart
创建FTP用户
- 创建一个用户xxx
useradd xxx
- 为用户xxx设置密码zzz
echo "zzz" | passwd xxx --stdin
限制该用户仅能通过FTP访问
- 限制用户xxx只能通过FTP访问服务器,而不能直接登录服务器
usermod -s /sbin/nologin xxx
为用户分配主目录
- 为用户创建主目录(用户的主目录是用户通过 FTP 登录后看到的根目录)设置
/data/ftp
为主目录,该目录不可上传文件
/data/ftp/xxx
文件只能上传到该目录下
mkdir -p /data/ftp/xxx
- 设置访问权限
chmod a-w /data/ftp && chmod 777 -R /data/ftp/xxx
- 设置为用户的主目录
usermod -d /data/ftp xxx
3. 准备域名和证书
域名解析
到控制台添加解析记录
域名设置解析后需要过一段时间才会生效,通过ping命令检查域名是否生效
ping www.xxx.xxx
如果ping命令中返回的信息中含有你设置的解析的IP地址,说明解析成功
4. 访问FTP服务
FTP服务已安装并配置完成,下面我们来使用该FTP服务
访问FTP服务
根据你个人的工作环境,选择一种方式来访问已经搭建的FTP服务
- 通过Windows资源管理器访问
Windows用户可以复制下面的链接(如果您申请了域名,可以将链接中的 IP 地址替换为对应的域名访问 FTP 服务)到资源管理器的地址栏访问
ftp://用户名:密码@主机ip
- 通过FTP客户端工具访问
FTP客户端工具很多,推荐两个常用的
WinSCP
Windows下的FTP和SFTP连接客户端
FileZilla
跨平台的FTP客户端,支持所有平台
如果可以正常连接,那么就OK了,你可以开始使用属于自己的FTP服务器了
网友评论