CentOS 禁止匿名 FTP 的操作指南

背景介绍
FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的协议,匿名 FTP 允许用户不提供用户名和密码即可访问服务器上的文件,出于安全考虑,许多组织选择禁止匿名 FTP 访问,本文将介绍如何在 CentOS 系统中禁止匿名 FTP。
操作步骤
检查 vsftpd 服务
CentOS 系统通常使用 vsftpd(Very Secure FTP Daemon)作为 FTP 服务器,我们需要检查 vsftpd 服务是否已安装。
# 检查 vsftpd 是否安装 rpm -qa | grep vsftpd
如果结果显示没有安装 vsftpd,可以使用以下命令安装:
# 安装 vsftpd sudo yum install vsftpd
修改 vsftpd 配置文件
修改 vsftpd 的配置文件 /etc/vsftpd/vsftpd.conf,禁止匿名用户登录。

# 修改 vsftpd 配置文件 sudo vi /etc/vsftpd/vsftpd.conf
找到以下行并取消注释:
anonymous_enable=NO 修改用户权限
确保 FTP 服务器的用户(通常是 ftp 用户)没有家目录或权限设置错误。
# 创建 ftp 用户 sudo useradd -d /var/ftp ftp # 设置 ftp 用户密码 sudo passwd ftp # 修改 ftp 用户权限 sudo chown -R ftp:ftp /var/ftp
重启 vsftpd 服务
重启 vsftpd 服务以应用配置更改。
# 重启 vsftpd 服务 sudo systemctl restart vsftpd
验证匿名 FTP 禁止
尝试使用匿名用户登录 FTP 服务器,应该会提示输入用户名和密码。
# 尝试匿名登录 ftp localhost
常见问题解答(FAQs)

问题:如何为匿名 FTP 设置用户权限?
解答: 在安装 vsftpd 并创建
ftp用户后,可以使用以下命令为匿名用户设置权限:sudo chown -R ftp:ftp /var/ftp sudo chmod 755 /var/ftp
这将确保
ftp用户拥有对/var/ftp目录的读写权限。问题:如何设置 FTP 服务器的根目录?
解答: 在
/etc/vsftpd/vsftpd.conf配置文件中,找到chroot_local_user选项并设置为YES,设置chroot_list_file指定一个文件,其中包含允许更改根目录的用户列表。# 设置 chroot_local_user 为 YES chroot_local_user=YES # 设置 chroot_list_file chroot_list_file=/etc/vsftpd/chroot_list
在
/etc/vsftpd/chroot_list文件中,列出允许更改根目录的用户名。

