ftp服务器搭建
- 1. 下载ftp服务
- 2. 查找ftp配置文件
- 3. 查看配置文件信息
- 4. Windows连接ftp服务
- 1)使用文件资源管理器连接
- 2)使用`FlashFXP`工具,比文件资源管理器好用,强烈推荐
- 5. Linux连接
1. 下载ftp服务
yum install -y vsftpd
2. 查找ftp配置文件
通常在/etc/vsftpd/vsftpd.conf
rpm -ql vsftpd | grep .conf$
3. 查看配置文件信息
筛选出没有注释的行
grep -v '^#' /etc/vsftpd/vsftpd.conf
内容如下(注释信息是后加的):
# 允许匿名用户访问 FTP 服务器,建议关闭
# 如果需要允许匿名用户上传文件,请确保配置文件中还有其他必要的设置。
anonymous_enable=YES# 允许本地系统用户(即服务器上存在的用户)登录 FTP 服务器
# 本地用户通常是你在系统中创建的用户帐户。
local_enable=YES# 允许本地用户在 FTP 服务器上执行写操作,比如上传文件或删除文件
# 确保你允许的操作符合你的安全需求。
write_enable=YES# 设置本地用户上传文件时的权限掩码
# `022` 表示文件的默认权限将是 `755`,即所有者有读、写、执行权限,组和其他用户有读和执行权限。
local_umask=022# 启用显示目录中的信息文件(如 README 文件)
# 当用户进入目录时,如果目录下有 `README` 文件,这些信息将被显示给用户。
dirmessage_enable=YES# 启用记录 FTP 文件传输活动的日志
# 这些日志可以帮助你监控和审核文件传输的情况。
xferlog_enable=YES# 启用使用端口 20 进行 FTP 数据传输
# 端口 20 是 FTP 数据连接端口。启用此选项可确保 FTP 数据连接正常工作。
# 端口 21 是 FTP 命令端口,远程连接用的就是 21 端口。
connect_from_port_20=YES# 使用标准格式记录 FTP 文件传输日志
# 标准格式的日志记录更为常见,易于与其他日志分析工具兼容。
xferlog_std_format=YES# 服务器将不会监听 IPv4 地址的连接请求
# 设置 `listen=NO` 表示 vsftpd 不会在 IPv4 上进行监听。
listen=NO# 服务器将监听 IPv6 地址的连接请求
# 启用此选项表示 vsftpd 只在 IPv6 网络上进行监听。
listen_ipv6=YES# 设置 PAM(可插拔认证模块)的服务名称为 vsftpd
# PAM 用于处理用户认证请求。指定服务名称为 `vsftpd` 以与系统 PAM 配置相匹配。
pam_service_name=vsftpd# 启用用户列表功能
# 这允许你通过 user_list 文件来管理允许或禁止访问 FTP 服务器的用户。
userlist_enable=YES# 启用 TCP 包过滤
# TCP 包过滤使用 /etc/hosts.allow 和 /etc/hosts.deny 文件来控制对 FTP 服务器的访问权限。
tcp_wrappers=YES
扩展配置项
# 指定登录后访问的目录
# 本地用户登录后默认访问用户家目录
# 匿名用户登录后默认访问 /var/ftp
# 指定的路径一定要对登录的用户开放权限,否者会出现各种权限问题
# 使用 setfacl 或者 chowm 或者 chmod 命令修改权限
local_root=路径# 开启目录禁锢,不允许用户访问根目录。在文件 101 行,解开注释即可
# 默认情况下本地用户登录后可以访问根目录
chroot_local_user=YES# 开启禁锢模式后要加上这个选项,允许在禁锢模式下读写
# 否则会报错 500
allow_writeable_chroot=YES
4. Windows连接ftp服务
1)使用文件资源管理器连接
- 启动
vsftpd
服务
systemctl start vsftpd
- 创建用户user1
useradd user1
- 给user1创建密码
echo '密码' | passwd --stdin user1
- 登录ftp服务,文件资源管理器 → 右键此电脑 → 添加一个网络位置
- 点击下一步
- 点击下一步
- 填写ftp服务器的IP地址 → 下一步(可以点击查看示例,看一下格式)
- 把匿名登录去掉 → 输入用户名 → 点击下一步
匿名登录就直接下一步就行,匿名登陆前面勾上对号
- 起一个名字,默认是服务器IP地址 → 点击下一步
- 点击完成
- 之后会弹出这个界面,输入密码后点登录就行,匿名登录就直接成功了
- 出现下面报错要在,控制面板 → 网络和Internet → Internet选项 → 高级 → 找到
使用被动 FTP(用于防火墙和 DSL调制解调器的兼容)-ON
把前面的对号点掉 → 点完成即可
刷新即可,可以上传文件试试
2)使用FlashFXP
工具,比文件资源管理器好用,强烈推荐
学习版网上很多
本人上传的学习版
- 按图所示,点击“快速连接”
- 地址写ftp服务器的IP地址,用户名是自己在服务器上的本地用户,密码与登录服务器的密码一致,端口号默认为21,无特殊要求不建议更改
如果要匿名登录就把“匿名”勾上,直接点连接就行,不需要输用户名和密码
- 登录成功后地址栏显示为用户的家目录
/home/user1/
要想登录后在指定目录就在配置文件中添加local_root=路径
- 登陆后默认情况是可以访问根目录的,要想杜绝这种危险情况可以在配置文件中加入
chroot_local_user=YES
和allow_writeable_chroot=YES
- 加入
chroot_local_user=YES
的结果
- 如果发现有报错为 500 OOPS: vsftpd: refusing to run with writable root inside chroot(),则是因为
allow_writeable_chroot=YES
这个选项没加,开启目录禁锢一点要加
5. Linux连接
下载ftp客户端
yum install -y ftp
登录,ftp.server换成你到地址
ftp ftp.server
回车后输入用户名,匿名登录输入anonymous
再回车输入密码,匿名登录不用密码直接回车
常用命令解释:
# 查看文件
ls# 上传
put 本地文件路径# 下载
get 远程文件路径# 批量上传
mput 文件名称1 文件名称2 文件名称3 ... # 批量下载
mget 文件名称1 文件名称2 文件名称3 ...# 退出
exit 或者 quit