# FTPTool-Swift **Repository Path**: xiaoyigegespec/FTPTool-Swift ## Basic Information - **Project Name**: FTPTool-Swift - **Description**: swift 版的 ftp 链接工具 demo - **Primary Language**: Swift - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-07-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] # 工具 FTP, WebDAV, SMB 管理 ```swift let credential = URLCredential(user: username, password: password, persistence: .permanent) // webdav = WebDAVFileProvider(baseURL: server, credential: credential)! webdav = FTPFileProvider.init(baseURL: server, mode: .default, credential: credential, cache: .none) webdav!.delegate = self ``` **** # 用 docker 创建 ftp 服务器 ## 拉取镜像并创建运行容器 ```shell $ docker pull fauria/vsftpd #把镜像pull到本地 $ docker run -d -v /home/vsftpd:/Users/lete/Desktop/docus -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -e FTP_USER=test -e FTP_PASS=test --name vsftpd fauria/vsftpd #-p进行端口绑定映射 # -v进行文件目录的映射 FTP_UESR 和FTP_PASS如果设定了会在container里面的 #/etc/vsftpd/virtual_users.txt #PASV_MIN_PORT和PASV_MAX_PORT映射的是被动模式下端口使用范围 #PASV_ADDRESS指的的宿主机地址 ``` ## 容器操作 进入到容器里面 ```shell $ docker exec -i -t vsftpd bash ``` 编辑用户配置文件 ```shell $ vi /etc/vsftpd/virtual_users.txt ``` 在文件中添加新用户的用户名和密码 ![](https://tva1.sinaimg.cn/large/007S8ZIlgy1ggzjj8q1odj305i02x744.jpg) 保存退出后执行如下命令,把登录的验证信息写入数据库 ```shell $ /usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db ``` 最后退出容器,并重启容器可以使用新用户连接 FTP 服务了 ```shell $ exit $ docker restart vsftpd ``` # Linux 的文件操作 ```shell # 创建/home/vsftpd/test目录下的 ft 文件夹 $ mkdir /home/vsftpd/test/ft # 创建并编辑/home/vsftpd/test/ft目录下的 1.txt 文件 (要先创建文件夹才能创建文件) $ vi /home/vsftpd/test/ft/1.txt ```