在 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
这些设置分别表示:
保存并关闭配置文件。
设置 SELinux 策略(如果需要):
如果您的 CentOS 系统启用了 SELinux,您需要创建一个 SELinux 策略来允许 FTP 服务。使用以下命令创建一个名为 ftp_home_dir.pp
的策略文件:
sudo cat > /etc/selinux/policy/ftp_home_dir.pp <<EOF
module ftp_home_dir 1.0;
require {
type user_home_t;
class ftp_home_dir_t;
}
allow user_home_t:ftp_home_dir_t:rwxp-xr-x;
EOF
使用 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 用户。用户将能够从其主目录上传和下载文件,但无法访问其他用户的目录或系统上的其他位置。