苏苏的博客

简约至极

编译一些ftp server

静态编辑bftp

bftp是一个小巧的ftp server

apk update && apk upgrade && apk add wget make gcc g++ zlib-dev
wget https://downloads.sourceforge.net/project/bftpd/bftpd/bftpd-4.4/bftpd-4.4.tar.gz?r=&ts=1493551857&use_mirror=iweb

解压进入目录

./configure --enable-libz CFLAGS=-Os

修改makefile link阶段加入 -static

make -j4 编译后当前目录即可得到静态编译的bftpd

ncftp

http://www.ncftpd.com/

既包含服务端,也有客户端

vsftpd

chroot_local_user #是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的)

https://blog.csdn.net/bluishglc/article/details/42398811

500 OOPS: vsftpd: cannot locate user specified in ‘ftp_username’:ftp 原因: 配置文件在调用默认匿名用户anonymous时会去找ftp这个系统用户,但是ftp这个系统用户又不存在(可能被删除了)

解决一: 取消匿名模式。

在vsftpd.conf中将anonymous_enable设置为NO,

anonymous_enable=NO

重新启动vsftpd,问题解决。

local user

adduser -h /home/ftpuser -s /sbin/nologin ftpuser

nopriv_user=xxxx

anonymous_enable=NO
local_enable=YES

vsftpd 默认会查找配置文件/etc/vsftpd.conf .可以启动时指定使用地址 vsftpd /etc/vsftpd/vsftpd.conf

virtual users

配置较复杂

新建用户

/etc/vsftpd/ftpusers.txt 是所有用户列表,修改此文件,奇数行为用户名,偶数行为密码

db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db 生成数据库文件

chmod 700 /etc/vsftpd/vsftpd_login.db 然后重启vsftpd即可

配置用户登录的目录

/etc/vsftpd/vsftpd_user_conf 下存放每个用户的配置,里面可以放置授权的目录

然后重启 vsftpd

proftpd

apk add gcc g++ make

./configure

make

无其他依赖

uftpd

https://github.com/troglobit/uftpd

https://github.com/troglobit/finit

https://github.com/troglobit/merecat

https://github.com/troglobit/redir

pyftpdlib

https://pypi.org/project/pyftpdlib/

安装 pip install pyftpdlib

启动 python -m pyftpdlib 默认端口是 2121

指定用户名与密码 python -m pyftpdlib -u user -P password

其他参数

p 指定端口(默认为 2121 ) w 写权限(默认为只读) d 指定目录 (默认为当前目录)

zipapp https://docs.python.org/3/library/zipapp.html