ubuntu篇---配置FTP服务,本机和docker安装并批量下载数据

一、ubuntu安装ftp服务

1.1 安装 vsftpd

sudo apt-get install vsftpd

1.2 添加用户 uftp

sudo useradd -m uftp

1.3 设置uftp用户登录密码:

sudo passwd uftp

1.4 编辑vsftpd.conf配置文件,在文件最后加入下面内容:

sudo vim /etc/vsftpd.conf
write_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_enable=YES
userlist_deny=NO

local_root=/home/uftp

1.5 添加登录用户白名单:

sudo vim /etc/vsftpd.user_list
uftp

重启服务

sudo service vsftpd restart

sudo service vsftpd status

常用命令:

!dir  显示本地文件目录


lcd [dir]  将本地工作目录切换至dir

mput local-file: 将本地文件传输至远程主机

get  remote-file[local-file]  将远程主机的文件remote-file传至本地磁盘的local-file

ls remote-dir  显示远程目录

mdelete remote-file 删除远程主机文件
reget remote-file  类似于get,但若local-file存在,则从上次传输中断处续传

bye  退出ftp会话;

二、docker安装(我用的这个)

2.1 创建 目录

mkdir -p /docker/vsftp

2.2 启动脚本

#!/bin/bash
 
docker run \
--name vsftpd \
-p 20:20 -p 21:21 -p 33361-33365:33361-33365 \
-v ./vsftp/ftpfile:/home/vsftpd \
-e FTP_USER=admin \
-e FTP_PASS=!Admin123 \
-e PASV_ADDRESS=127.0.0.1 \
-e PASV_MIN_PORT=33361 \
-e PASV_MAX_PORT=33365 \
--restart=always \
-d fauria/vsftpd

2.3 访问

ftp://127.0.0.1        账密 admin/!Admin123

2.4 如何创建一个新的用户

docker exec -it vsftpd /bin/bash
 
vi /etc/vsftpd/virtual_users.txt
 
# 这里的 admin 用户跟密码是安装的时候创建的
# 这里创建一个新用户
admin
!Admin123
uftp
123456

 
# 保存数据库
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
 
 
# 设置新用户家目录
mkdir -p /home/vsftpd/uftp
 
# 改变目录权限
chown ftp:ftp /home/vsftpd/uftp/

在这里插入图片描述
在这里插入图片描述

 
docker容器中vsftpd修改账号密码

进入容器,直接编辑 /etc/vsftpd/virtual_users.txt,添加用户、修改密码即可

2.5 测试

ftp 127.0.0.1

在这里插入图片描述

2.6 使用

1、连接服务器
格式:ftp [hostname| ip-address]

ftp 192.168.x.xx

2、下载文件
get
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1.htm,则

ftp> get /usr/your/1.htm 1.htm (回车)

mget      
格式:mget [remote-files]
从远端主机接收一批文件至本地主机。
如要获取服务器上/usr/your/下的所有文件,则

ftp> cd /usr/your/
ftp> mget . (回车)

3、上传文件
put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中。
如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htm

ftp> put 1.htm /usr/your/2.htm (回车)

mput
格式:mput local-files
将本地主机中一批文件传送至远端主机。
如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下

ftp> cd /usr/your (回车)
ftp> mput *.htm (回车)

4、断开连接
bye:中断与服务器的连接。

ftp> bye (回车)

另外的用法:

在shell命令行下输入:

    ftp 192.168.x.xx

    根据提示输入正确的用户名和密码即可

常用操作命令(,号不是命令内容)

FTP>open  [ftpservername],和指定的远程Linux FTP服务器连接

FTP>user  [username]  [password],使用指定远程Linux FTP服务器的用户登录

FTP>pwd,显示远程Linux FTP服务器上的当前路径文章地址https://www.yii666.com/blog/144054.html

FTP>ls,列出远程Linux FTP服务器上当前路径下的目录和文件

FTP>dir,列出远程Linux FTP服务器上当前路径下的目录和文件(同上)

FTP>mkdir  [foldname],在远程Linux FTP服务器上当前路径下建立指定目录

FTP>rmdir  [foldname],删除远程Linux FTP服务器上当前路径下的指定目录

FTP>cd  [foldname],更改远程Linux FTP服务器上的工作目录

FTP>delete  [filename],删除远程Linux FTP服务器上指定的文件

FTP>rename  [filename]  [newfilename],重命名远程Linux FTP服务器上指定的文件

FTP>close,从远程Linux FTP服务器断开但保留FTP命令参数提示网址:yii666.com<文章来源地址:https://www.yii666.com/blog/144054.html

FTP>disconnect,从远程Linux FTP服务器断开但保留FTP命令参数提示(同上)

FTP>bye,结束和远程Linux FTP服务器的连接

FTP>quit,结束和远程Linux FTP服务器的连接(同上)

FTP>!,直接从远程Linux FTP服务器进入到本地shell中

FTP>exit,(接上步)从本地shell环境中返回到远程Linux FTP服务器环境下

FTP>!ls,列出本地机器上当前路径下的目录和文件

FTP>lcd  [foldname],更改本地机器的工作目录

FTP>?,显示ftp命令说明网址:yii666.com

FTP>help,显示ftp命令说明(同上)

PS:最好将要进行传输的文件或文件夹的权限设置成775777

2.7 other

# docker 的ftp服务的搭建:
docker run -d -p 21:21 -p 20:20 -p 21100-21110:21100-21110 -v /home/XXX/vsftpd/:/home/vsftpd/ -e FTP_USER=root -e FTP_PASS=root -e PASV_ADDRESS=192.168.2.209 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name ftpserver --restart=always fauria/vsftpd

# vsftpd 创建多个用户:
# 进入ftp容器:
docker exec -it ftpserver /bin/bash
# 手动创建用户名文件夹:
mkdir /home/vsftpd/test
# 写入账号与密码:test 123456
vi /etc/vsftpd/virtual_users.txt # 将账号与密码加入
# 保存退出后执行如下命令,把登录的验证信息写入数据库:
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
# 退出容器,并重启容器:
sudo docker restart vsftpdserver

三、下载数据

# 1.连接
ftp xx.xx.xx.xx
# 2. 输入"prompt"命令(打开交互模式),输入执行第二次则关闭。如交互打开,下载文件会 提示是否下载,若批量下载很麻烦,所以关闭交互。
prompt
# 3. 批量下载
mget *

四、重点

运行以下命令将"nvidia"用户添加到"uftp"用户组中:

sudo usermod -aG uftp nvidia

这将"nvidia"用户添加到"uftp"用户组中。-a选项表示追加到用户的现有组列表中,而-G选项指定要添加的用户组。

参考:

  • https://blog.csdn.net/qq_45031509/article/details/128016689
  • https://blog.csdn.net/mshxuyi/article/details/119935069
  • https://www.cnblogs.com/biaogejiushibiao/p/9268533.html
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心惠天意

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

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

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

打赏作者

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

抵扣说明:

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

余额充值