在 CentOS 中设置安全的 FTP 用户需要以下几个步骤:
-
安装 vsftpd:
通过以下命令安装 vsftpd:
sudo yum install vsftpd
-
创建 FTP 用户和用户组:
使用以下命令创建一个新的系统用户(将
your_username
替换为您选择的用户名):sudo useradd -m your_username
创建一个新的用户组(将
your_groupname
替换为您选择的组名):sudo groupadd your_groupname
将新创建的用户添加到用户组:
sudo usermod -aG your_groupname your_username
-
配置 vsftpd:
使用文本编辑器打开
/etc/vsftpd/vsftpd.conf
文件,例如使用 nano 编辑器:sudo nano /etc/vsftpd/vsftpd.conf
在配置文件中,找到或添加以下设置:
anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES
这些设置分别表示:
- 禁止匿名访问
- 允许本地用户登录
- 允许本地用户上传文件
- 将本地用户限制在其主目录中
- 允许写入chroot目录
保存并关闭配置文件。
-
设置 SELinux 策略(如果需要):
如果您的 CentOS 系统启用了 SELinux,您需要创建一个 SELinux 策略来允许 FTP 服务。使用以下命令创建一个名为
ftp_home_dir.pp
的策略文件:sudo cat > /etc/selinux/policy/ftp_home_dir.pp <
使用
audit2allow
工具生成 SELinux 策略:sudo ausearch -m avc -ts recent sudo ausearch -m avc -te policy sudo audit2allow -M ftp_home_dir sudo semodule -i ftp_home_dir.pp
-
重启 vsftpd 服务:
使用以下命令重启 vsftpd 服务以应用更改:
sudo systemctl restart vsftpd
现在,您已经成功地在 CentOS 中设置了一个安全的 FTP 用户。用户将能够从其主目录上传和下载文件,但无法访问其他用户的目录或系统上的其他位置。