搭建ftp服务器

ftp服务器

安装与启动

安装 vsftpd:sudo apt install vsftpd -y

查看是否启动:sudo netstat -nltp | grep 21

手动启动:sudo systemctl start vsftpd.service

配置用户目录

新建用户主目录:sudo mkdir ~/uftp

登录欢迎文件:sudo touch ~/uftp/welcome.message

新建用户uftp:sudo useradd -d ~/uftp -s /bin/bash uftp-d设置主目录,-s设置shell

用户设置密码:sudo passwd uftp

删除掉 pam.d 中 vsftpd:sudo rm /etc/pam.d/vsftpd(该配置文件会导致使用用户名登录 ftp 失败)

权限和配置

限制用户 uftp 只能通过 FTP 访问服务器:sudo usermod -s /sbin/nologin uftp

修改 vsftpd 配置

增加写权限:sudo chmod a+w /etc/vsftpd.conf
修改配置文件:vim /etc/vsftpd.conf

  • 限制用户对主目录以外目录访问

chroot_local_user=YES

  • 指定一个 userlist 存放允许访问 ftp 的用户列表

userlist_deny=NO
userlist_enable=YES

  • 记录允许访问 ftp 用户列表

userlist_file=/etc/vsftpd.user_list

  • 不配置可能导致莫名的530问题

seccomp_sandbox=NO

  • 允许文件上传

write_enable=YES

  • 使用utf8编码

utf8_filesystem=YES

  • 新建文件 /etc/vsftpd.user_list,用于存放允许访问 ftp 的用户:

sudo touch /etc/vsftpd.user_list
sudo chmod a+w /etc/vsftpd.user_list

  • 修改 /etc/vsftpd.user_list ,加入刚刚创建的用户:

示例代码:/etc/vsftpd.user_list
uftp

设置访问权限
  • 设置主目录访问权限(只读):

sudo chmod a-w ~/uftp

  • 新建公共目录,并设置权限(读写):

sudo mkdir ~/uftp/public && sudo chmod 777 -R ~/uftp/public

  • 重启vsftpd 服务:

sudo systemctl restart vsftpd.service

客户端 ftp 命令

登录

格式:ftp [hostname| ip-address]
  a)在linux命令行下输入:ftp 10.18.34.115
  b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可。
  
500 Illegal PORT command:用pass转化主被动模式
cd 进入public目录中才能操作

下载文件

  
+ get
  格式:get [remote-file] [local-file]
  将文件从远端主机中传送至本地主机中.
  如要获取服务器上E:\rose\1.bmp,则
  ftp> get /rose/1.bmp 1.bmp (回车)
  
+ mget      
  格式:mget [remote-files]
  从远端主机接收一批文件至本地主机.
  如要获取服务器上E:\rose\下的所有文件,则
  ftp> cd /rose
  ftp> mget . (回车)
  
  注意:文件都下载到了linux主机的当前目录下。比如,在 /root/yint下运行的ftp命令,则文件都下载到了/root/yint下。
  

上传文件

  • put
      格式:put local-file [remote-file]
      将本地一个文件传送至远端主机中.
      如要把本地的1.bmp传送到远端主机E:\rose,并改名为333.bmp
      ftp> put 1.bmp /rose/333.bmp (回车)
      
  • mput
      格式:mput local-files
      将本地主机中一批文件传送至远端主机.
      如要把本地当前目录下所有bmp文件上传到服务器E:\rose 下
      ftp> cd /rose (回车)
      ftp> mput *.bmp (回车)
      
      注意:上传文件都来自于主机的当前目录下。比如,在 /root/yint下运行的ftp命令,则只有在/root/yint下的文件linux才会上传到服务器E:\rose 下。
      

断开连接

  bye:中断与服务器的连接。
  ftp> bye (回车)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WY_记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值