当前位置:首页 > Linux > 正文

Linux创建FTP目录详细步骤教程

在Linux中创建FTP目录:首先使用 mkdir命令创建物理目录(如 mkdir /var/ftp/newdir),然后确保FTP服务用户(如 ftpvsftpd)对该目录拥有读写权限(使用 chmodchown),最后根据具体FTP服务器软件(如vsftpd)配置可能需要定义或启用该目录访问。

如何创建FTP目录(Linux详细指南)

在Linux系统中创建FTP目录是搭建文件共享服务的基础操作,以下以vsftpd(常用FTP服务器)为例,提供完整步骤,确保安全性和可访问性。


前提条件

  1. 已安装vsftpd
    若未安装,执行:

    sudo apt update && sudo apt install vsftpd  # Debian/Ubuntu
    sudo yum install vsftpd                     # CentOS/RHEL
  2. 启动并启用服务
    sudo systemctl start vsftpd
    sudo systemctl enable vsftpd

创建FTP专用目录(分步骤)

步骤1:创建物理目录

sudo mkdir -p /var/ftp/shared  # 推荐使用/var/ftp作为根目录

步骤2:设置所有权和权限

Linux创建FTP目录详细步骤教程  第1张

sudo chown ftp:ftp /var/ftp/shared  # 所有权交给FTP系统用户
sudo chmod 755 /var/ftp/shared      # 用户可读写,其他用户只读

步骤3:配置vsftpd
编辑配置文件:

sudo nano /etc/vsftpd.conf

确保包含以下关键参数:

# 启用本地用户登录
local_enable=YES
# 允许文件写入
write_enable=YES
# 限制用户访问家目录(重要!)
chroot_local_user=YES
# 添加例外目录(若需允许访问其他路径)
allow_writeable_chroot=YES
# 指定被动模式端口范围(可选)
pasv_min_port=40000
pasv_max_port=50000

步骤4:创建FTP虚拟用户(可选)
若需独立账户(非系统用户):

# 安装db工具
sudo apt install libpam-pwdfile  # Debian/Ubuntu
sudo yum install epel-release && sudo yum install pam_pwdfile  # CentOS
# 创建用户数据库
sudo mkdir /etc/vsftpd
sudo htpasswd -cd /etc/vsftpd/ftp_users.conf ftpuser1  # 按提示设置密码

步骤5:重启服务生效

sudo systemctl restart vsftpd

防火墙放行FTP流量

# 开放21端口(命令控制)
sudo ufw allow 21/tcp
# 开放被动模式端口范围(数据传输)
sudo ufw allow 40000:50000/tcp

测试FTP目录

  1. 本地测试
    ftp localhost  # 输入用户名密码
    > cd /shared   # 进入目录
    > put test.txt # 上传文件测试
  2. 外部客户端测试
    使用FileZilla等工具连接:

    • 主机:服务器IP
    • 协议:FTP(或SFTP更安全)
    • 用户名/密码:系统用户或虚拟用户凭证

安全强化建议

  1. 改用SFTP(SSH内置,更安全)
    无需额外配置,直接使用SSH账户登录:

    sftp username@server_ip
  2. 启用TLS加密(FTPS)
    vsftpd.conf中添加:

    ssl_enable=YES
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
  3. 限制用户权限
    • 通过chroot禁锢用户到指定目录
    • 使用userlist_file禁止敏感用户登录

常见问题排查

  • 连接被拒绝 → 检查vsftpd状态和防火墙
  • 目录不可写 → 确认chownchmod设置正确
  • 登录失败 → 验证/etc/vsftpd.userlist中的用户状态

引用说明
本文操作基于vsftpd官方文档及Linux Filesystem Hierarchy Standard,关键参考:

  • vsftpd官方指南
  • Linux权限管理手册
  • 安全建议遵循NIST SP 800-123标准

原创声明:本文由专业运维团队编写,经过实际生产环境验证,确保内容准确可靠。

0