网站首页
Java
站长
开源
框架
理论
JS
Linux
DB
服务器
网络编程
生活
软件
PHP
其他
您的位置:首页 > Linux > Ubuntu下安装FTP配置登录用户
Ubuntu下安装FTP配置登录用户
2025-11-26    22    0

PureFTPd是一款专注于程序健壮和软件安全的免费FTP服务器软件(基于BSD License),以安全和配置简单为设计目标,支持虚拟主机,IPV6,PAM等功能。。其可以在多种类Unix操作系统中编译运行,包括Linux、OpenBSD、NetBSD、FreeBSD、DragonFly BSD、Solaris、Tru64、Darwin、Irix and HP-UX。PureFTPd还有Android移植版本。


安装 Pure-FTPd

sudo apt-get install pure-ftpd


修改默认配置

与 centos 不同,这里需要在 /etc/pure-ftpd/conf 文件夹下执行下列命令,增加对应配置文件:

# 创建 /etc/pure-ftpd/conf/PureDB 文件,内容指定路径 /etc/pure-ftpd/pureftpd.pdb
echo '/etc/pure-ftpd/pureftpd.pdb' > /etc/pure-ftpd/conf/PureDB
# 创建 /etc/pure-ftpd/conf/VerboseLog 文件,开启日志
echo yes > /etc/pure-ftpd/conf/VerboseLog 
# 创建 /etc/pure-ftpd/conf/NoAnonymous 文件,拒绝匿名登录
echo yes > /etc/pure-ftpd/conf/NoAnonymous
# 创建 /etc/pure-ftpd/conf/PassivePortRange 文件,开启被动端口范围 (这里需要根据实际需求调整端口范围)
echo '39000 40000' > /etc/pure-ftpd/conf/PassivePortRange


建立数据库软链

ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50puredb


启动 Pure-FTPd 服务

sudo systemctl start pure-ftpd.service

查看 Pure-FTPd 服务状态

sudo systemctl status pure-ftpd.service


准备系统用户,Pure‑FTPd 的虚拟用户需要映射到一个本地系统用户,通常使用 ftpuser(或自行创建的用户)并禁止登录。

# 创建一个专用的系统组(可选)
sudo groupadd ftpgroup
# 创建系统用户,加入该组,禁止交互式登录
sudo useradd -g ftpgroup -s /sbin/nologin -d /dev/null ftpuser


创建 FTP 根目录并设置权限,目录必须事先存在,否则虚拟用户登录后会报 “No such file or directory”

# 创建用户专属的目录
sudo mkdir -p /home/www/www_file_com
# 把目录所有者改为上面创建的系统用户(ftpuser)和组
sudo chown -R ftpuser:ftpgroup /home/www/www_file_com
# 根据需要设置访问权限(这里给目录读写权限,外部用户只能在此目录内操作)
sudo chmod 750 /home/www/www_file_com


使用 pure‑pw 添加虚拟用户

Pure‑FTPd 自带的 pure-pw 工具负责管理虚拟用户。下面的命令会:

创建用户名 www_file_com

把它映射到系统用户 ftpuser(-u ftpuser)

指定根目录为 /home/www/www_file_com(-d /home/www/www_file_com)

在交互式提示下输入密码 123456

sudo pure-pw useradd www_file_com -u ftpuser -d /home/www/www_file_com
# 系统会提示输入密码,直接键入 123456 并确认


生成(或更新)Pure‑FTPd 的用户数据库

pure-pw 只会把信息写入临时文件,必须再生成真正供 Pure‑FTPd 使用的数据库文件:

sudo pure-pw mkdb

这一步是必不可少的,否则新用户不会生效


确认 Pure‑FTPd 已启用 PureDB 认证

Pure‑FTPd 需要通过 PureDB 方式读取刚才生成的数据库。检查 /etc/pure-ftpd/conf/PureDB 是否存在,若不存在可手动创建软链接:

sudo ln -s ../conf/PureDB /etc/pure-ftpd/auth/50puredb


重启 Pure‑FTPd 服务使配置生效

sudo systemctl restart pure-ftpd


使用任意 FTP 客户端(如 FileZilla)连接服务器


上一篇: 已经是最新一篇
下一篇: 使用Java实现国密SM3算法
发表评论:
您的网名:
个人主页:
编辑内容: