如何在Debian上配置FTP访问控制列表

341
2025/3/16 6:32:48
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian上配置FTP访问控制列表(ACL)可以通过多种方式实现,其中一种常见的方法是使用vsftpd(Very Secure FTP Daemon)。以下是详细步骤:

1. 安装vsftpd

首先,确保你的系统上已经安装了vsftpd。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd

编辑vsftpd的配置文件/etc/vsftpd.conf。你可以使用任何文本编辑器,例如nanovim

sudo nano /etc/vsftpd.conf

在配置文件中,你可以设置各种选项来控制FTP访问。以下是一些常用的配置项:

  • listen=YES:启用独立模式。
  • listen_ipv6=NO:禁用IPv6支持。
  • anonymous_enable=NO:禁止匿名用户登录。
  • local_enable=YES:允许本地用户登录。
  • write_enable=YES:允许FTP写操作。
  • chroot_local_user=YES:将本地用户限制在其主目录中。
  • allow_writeable_chroot=YES:允许chroot目录可写。

3. 配置访问控制列表(ACL)

vsftpd本身不直接支持ACL,但你可以使用xinetdacl包来实现更细粒度的访问控制。

安装xinetd和acl

sudo apt install xinetd acl

配置xinetd

编辑/etc/xinetd.d/vsftpd文件:

sudo nano /etc/xinetd.d/vsftpd

修改内容如下:

service vsftpd
{
    disable = no
    type = UNLISTED
    socket_type = stream
    protocol = tcp
    wait = no
    user = root
    server = /usr/sbin/vsftpd
    log_on_success += DURATION USERID
    log_on_failure += USERID
    only_from = 192.168.1.0/24  # 允许的IP范围
}

配置ACL

编辑/etc/acl.d/vsftpd文件:

sudo nano /etc/acl.d/vsftpd

添加以下内容来定义ACL规则:

# 允许特定用户访问
user::rwx
group::r-x
other::r-x

# 拒绝特定用户访问
user:denyuser:r--

4. 重启服务

保存所有更改后,重启vsftpdxinetd服务以应用新的配置:

sudo systemctl restart vsftpd
sudo systemctl restart xinetd

5. 测试配置

使用FTP客户端连接到你的服务器,测试配置是否生效。确保只有授权的用户可以访问FTP服务器,并且访问控制列表按预期工作。

通过以上步骤,你可以在Debian上配置FTP访问控制列表,实现对FTP服务器的细粒度访问控制。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Apache日志轮转如何配置