Linux02 - FTP

1. 安装

sudo apt-get install vsftpd

2. 检查端口是否打开 默认端口为21

netstat -tnl 或 ps -ef | grep ftp

3. 检查ftp 服务是否开启

service vsftpd status 或 systemctl status vsftpd

4. 启动、停止、重启、查看状态

service vsftpd start | stop | restart | statsu
systemctl start | stop | restart | status vsftpd
/etc/init.d/vsftpd start | restart | status    

reload 为重新加载配置文件

5. 修改FTP配置文件,默认是不能写入的

sudo vi /etc/vsftpd.conf

6. FTP 主要配置说明

# 设置登录FTP 欢迎信息 没有啥卵用
ftpd_banner=Welcome to CHL FTP service 

# 有用的配置来了
listen=YES            # 服务器监听
local_enable=YES      # 是否允许本地用户访问
write_enable=YES      # 是否运行上传文件,不然就有550 permission error
anonymous_enable=NO   # 匿名允许放问,基本上都不开启的
aon_mkdir_write_enable=YES # 匿名允许创建文件夹 和上面一样

# part2 
local_umask=022       # FTP 上本地的文件权限 本来是0777 现在umask是022, 目录权限=777-022 = 755,文件=666-022=644
dirmessage_enable=YES # 进入文件夹权限
connect_from_port_20=YES # 使用20端口
data_connection_timeout=120 # 超时时间

# 日志配置
utf8_filesystem=YES   # 使用UTF-8
use_localtime=YES     
xferlog_enable=YES    # 激活上传和下载的日志
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES # 使用标准的日志格式 std => standerd

# 自定义ftp根目录的位置
local_root=/share/vsftpd

# 读写权限
allow_writeable_chroot=YES     # 解决500 OOPS : vsftpd: refusing to run with writeable root inside chroot() 问题
write_enable=YES         # 允许向FTP服务器写入权限
chown_uploads=YES        # 允许改变上传文件的所有者
chown_username=whoever    # 设置想要改变上传文件的所有人


ascii_upload_enable=YES     # 允许服务器以ASCII方式传递数据,可能会引起 “SIZE /big/file”方式的DDOS攻击
ascii_download_enable=YES 
deny_email_enable=YES       # 黑名单设置开关
banned_email_file=/etc/vsftpd.banned_emails

# 设置FTP限制最大连接数 和 传输速率
max_client=50   # 最大连接数
max_per_ip=5    # 同一IP地址最大连接数 
local_max_rate=100000  # 本地用户最大传输速率 100KB/S
anon_max_rate=50000    # 匿名用户最大传输速率 50KB/S

# 权限设置
userlist_deny=NO    # 是否启动userlist 禁止模式
userlist_enable=NO  # 是否启动限制用户名单 上面一条禁止所有用户  这里可以做白名单 配合上面的
userlist_file=/etc/vsftpd.user_list

# 在默认配置下,本地用户可以使用cd命令来切换目录,可能会有安全风险隐患,可以进行如下配置
chroot_list_enable=YES    # 是否启用chroot_list_file 配置的指定用户列表  默认为NO
chroot_local_user=YES     # 用于指定用户列表文件中的用户 允许切换到上级目录  默认为NO
chroot_list_file=/etc/vsftpd.chroot_list    # 禁用名单,改文件用于控制控制那些用户可以切换到home目录的上级

7. 登录FTP

  1. 浏览器方式登录
ftp://ip地址
ftp://用户名:密码@ip/具体路径 # ftp://username:password@127.0.0.1/dirname

  1. 终端访问
ftp
ftp> open serverip

ftp ip

8. 修改默认端口

默认是21 ,修改到别人想不到的端口,修改上面的配置文件
listen_port=2333
注意: 修改了端口后,需要重新启动ftp
service vsftpd restart

9. ftp> 命令行模式下操作命令

命令描述 服务器操作 本地目录操作
切换目录 cd lcd
切换到根目录 cd |cd .. lcd..
显示当前路径 pwd !pwd
显示当前目录文件 ls !ls

10. 上传文件

# server-filename 必须指明 要不然报错 文件名无效
ftp> put /localpath/filename /remotepath/server-filename

# 在ftp模式下 输入bin 切换到 二进制模式, asc切换到字符模式
ftp> bin
200 Switching to Binary mode.
ftp> ascii
200 Switching to ASCII mode.
ftp>

# 批量上传 或者 上传文件夹所有内容,但是不支持文件夹上传
ftp> cd /remote path
ftp> lcd /local path
ftp> mput file*

11. 下载文件

# 同样 不支持下载文件夹操作
ftp> get remote-filename local-filename

12. 删除文件

ftp> delete /remote path /filename
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • FTP服务概述 简单FTP构建及访问 VSFTP服务基础 用户禁锢、黑白名单 FTP并发及带宽限制 一、FTP服务...
    紫_轩阅读 12,384评论 3 25
  • 第一章 1.Linux是一套免费使用和自由传播的类UNIX操作系统,它可以基于Intel x86系列处理器以及Cy...
    yansicing阅读 10,826评论 0 9
  • 命令简介 cmd是command的缩写.即命令行 。 虽然随着计算机产业的发展,Windows 操作系统的应用越来...
    Littleston阅读 8,628评论 0 12
  • 运行操作 CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) CM...
    小明yz阅读 7,987评论 0 8
  • 今天妈妈从单位摘了一大把桂花,放在我屋的小桌子上,香气洋溢在每个屋子里。 我在网上查了桂花的一些资料。桂花叫木樨,...
    五三班王博睿阅读 2,383评论 0 0

友情链接更多精彩内容