【Ryan】: linux下安装ftp
在Linux系统下安装FTP服务器并配置用户名密码登录,可以使用vsftpd(Very Secure FTP Daemon)。以下是详细步骤:
1. 安装 vsftpd
打开终端,运行以下命令安装 vsftpd:
sudo apt update # 更新软件包列表
sudo apt install vsftpd -y # 安装 vsftpd
2. 配置 vsftpd
(1) 备份默认配置文件
在修改配置文件之前,建议备份原始配置文件:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup
(2) 修改配置文件
编辑 /etc/vsftpd.conf 文件:
sudo nano /etc/vsftpd.conf
在文件中进行以下设置:
-
启用本地用户登录:
local_enable=YES -
允许本地用户上传文件:
write_enable=YES -
设置用户访问根目录:
chroot_local_user=YES allow_writeable_chroot=YES -
禁止匿名用户登录:
anonymous_enable=NO -
启用用户名密码验证:
pam_service_name=vsftpd -
配置被动模式(如果需要):
pasv_enable=YES pasv_min_port=10000 pasv_max_port=10100
保存并退出。
3. 创建 FTP 用户
(1) 添加新用户
创建一个 FTP 用户(例如 ftpuser):
sudo adduser ftpuser
按照提示设置密码。
(2) 设置用户目录权限
确保用户的主目录存在并且权限正确:
sudo mkdir -p /home/ftpuser/upload
sudo chmod 755 /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser/upload
4. 配置 PAM (Pluggable Authentication Module)
编辑 /etc/pam.d/vsftpd 文件:
sudo nano /etc/pam.d/vsftpd
将文件内容替换为以下内容:
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd.user_list onerr=succeed
auth required pam_shells.so
account required pam_permit.so
然后创建用户白名单文件 /etc/vsftpd.user_list,并将允许的用户添加到其中:
echo "ftpuser" | sudo tee -a /etc/vsftpd.user_list
5. 启动 vsftpd 服务
启动并启用 vsftpd 服务:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
检查服务状态:
sudo systemctl status vsftpd
6. 防火墙配置
如果系统启用了防火墙(如 ufw),需要开放 FTP 端口(默认 21):
sudo ufw allow 21/tcp
sudo ufw allow 10000:10100/tcp # 如果启用了被动模式
sudo ufw reload
7. 测试 FTP 登录
使用 FTP 客户端(如 FileZilla 或命令行工具)连接到服务器,输入用户名和密码进行测试。
命令行测试
ftp localhost
输入用户名和密码后,即可登录。
8. 可选优化
(1) 修改监听地址
如果需要绑定特定 IP 地址,可以在 /etc/vsftpd.conf 中添加:
listen_address=192.168.1.100
(2) 日志记录
启用日志记录以便排查问题:
xferlog_enable=YES
xferlog_std_format=YES
log_ftp_protocol=YES
通过以上步骤,您可以在 Linux 系统上成功安装并配置 FTP 服务器,并支持用户名密码登录。
本文来自博客园,作者:Ryan,转载请注明原文链接:https://www.cnblogs.com/Ryan9399/p/18723332

浙公网安备 33010602011771号