【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 服务器,并支持用户名密码登录。

posted @ 2025-02-19 09:24  Ryan9399  阅读(302)  评论(0)    收藏  举报