1.下载vsftpd工具
yum install vsftpd -y
2.修改配置
sudo vi /etc/vsftpd/vsftpd.conf
local_root=/home/ftptest
write_enable=YES
anon_mkdir_write_enable=YES
3.添加用户test
mkdir -p /home/ftptest
useradd -r /home/ftptest -M test
passwd test
注:删除用户的命令为userdel -d test
4.修改文件并启动服务
sudo vi /etc/pam.d/vsftpd
#auth required pam_shells.so //注释掉这一行
sudo service vsftpd restart
下载jlaffaye包 go get -u github.com/jlaffaye/ftp
直接上代码实现
package main
import (
"fmt"
"github.com/jlaffaye/ftp"
"io"
"os"
"time"
)
//忽略错误处理
func main() {
//连接远程服务器
c,_ := ftp.Dial("192.168.3.82:21",ftp.DialWithTimeout(5*time.Second))
defer c.Quit()
//登陆
_ = c.Login("test","xbrother@123")
_ = c.ChangeDir("/home/ftptest")
dir,_ := c.CurrentDir()
fmt.Print("current dir ",dir)
//上传文件a.txt到远程ftp服务器/home/ftptest/111
_ =c.MakeDir("111")
_ = c.ChangeDir("/home/ftptest/111")
file ,_ := os.Open("a.txt")
defer file.Close()
_ = c.Stor("b.txt",file)
//从ftp服务器下载文件b.txt到本地目录c:\WORK\src\learn\ftptest\c.txt
f,_:=os.OpenFile("C:\WORK\src\learn\ftptest\c.txt",os.O_RDWR|os.O_CREATE,0777)
defer f.Close()
r,_:=c.Retr("/home/ftptest/111/b.txt")
defer r.Close()
io.Copy(f,r)
c.Logout()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)