ubuntu篇---配置FTP服务
- 一、本机安装
-
- [1.1 安装FTP服务器软件](#1.1 安装FTP服务器软件)
- [1.2 配置FTP服务](#1.2 配置FTP服务)
- 二、docker安装(我用的这个)
-
- [2.1 创建 目录](#2.1 创建 目录)
- [2.2 启动脚本](#2.2 启动脚本)
- [2.3 访问](#2.3 访问)
- [2.4 如何创建一个新的用户](#2.4 如何创建一个新的用户)
- [2.5 测试](#2.5 测试)
- [2.6 使用](#2.6 使用)
一、本机安装
1.1 安装FTP服务器软件
- ubuntu安装vsftp
python
sudo apt install vsftpd
- 查看安装后的版本
python
vsftpd --version
1.2 配置FTP服务
- 为FTP添加用户ftpuser,并设置用户的密码
python
sudo useradd -m ftp
sudo passwd uftp
- 创建ftp的根目录
#这里再/home/uftp/下创建一个ftpdir作为ftp的根目录
- 配置vsftpd.conf文件
python
sudo vim /etc/vsftpd.conf
python
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_enable=YES
userlist_deny=NO
local_root=/home/uftp
- 启动ftp服务
python
sudo service vsftpd start
python
sudo service vsftpd status
sudo service vsftpd restart
二、docker安装(我用的这个)
2.1 创建 目录
python
mkdir -p /docker/vsftp
2.2 启动脚本
python
#!/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 访问
python
ftp://127.0.0.1 账密 admin/!Admin123
2.4 如何创建一个新的用户
python
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 测试
python
ftp 127.0.0.1
2.6 使用
1、连接服务器
格式:ftp [hostname| ip-address]
python
ftp 192.168.x.xx
2、下载文件
get
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1.htm,则
python
ftp> get /usr/your/1.htm 1.htm (回车)
mget
格式:mget [remote-files]
从远端主机接收一批文件至本地主机。
如要获取服务器上/usr/your/下的所有文件,则
python
ftp> cd /usr/your/
ftp> mget . (回车)
3、上传文件
put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中。
如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htm
python
ftp> put 1.htm /usr/your/2.htm (回车)
mput
格式:mput local-files
将本地主机中一批文件传送至远端主机。
如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下
python
ftp> cd /usr/your (回车)
ftp> mput *.htm (回车)
4、断开连接
bye:中断与服务器的连接。
python
ftp> bye (回车)
另外的用法:
python
在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:最好将要进行传输的文件或文件夹的权限设置成775 或777
参考: