在CentOS上配置vsftpd时,权限设置是一个关键步骤,以确保系统的安全性和用户数据的保护。以下是一些关于CentOS与vsftp权限设置的差异和建议:
sudo yum install vsftpd
ftpuser
的用户:sudo useradd -m ftpuser
sudo passwd ftpuser
按照提示输入密码。
/etc/vsftpd/vsftpd.conf
。你可以使用任何文本编辑器来编辑这个文件,例如 vi
或 nano
:sudo vi /etc/vsftpd/vsftpd.conf
在配置文件中,找到或添加以下配置项来设置用户权限:
local_enable=YES
:允许本地用户登录。chroot_local_user=YES
:将本地用户锁定在他们的主目录中,防止他们访问其他用户的目录。allow_writeable_chroot=NO
(不安全,除非你完全信任用户):允许chroot目录可写。示例配置:
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=NO
sudo systemctl restart vsftpd
firewalld
,可以运行以下命令:sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
sudo vim /etc/vsftpd/vu.txt
添加用户名和密码,例如:
admin admin
upload upload
download download
将明文文件转换为数据库文件:
db_load -T -t hash -f /etc/vsftpd/vu.txt /etc/vsftpd/vu.db
修改数据库文件权限:
sudo chmod 600 /etc/vsftpd/vu.db
sudo vim /etc/pam.d/vsftpd
添加以下内容:
auth required pam_userdb.so db=/etc/vsftpd/vu.db
account required pam_userdb.so db=/etc/vsftpd/vu.db
sudo mkdir /var/ftp/uploads
sudo mkdir /var/ftp/download
sudo chown ftpuser:ftpuser /var/ftp/uploads
sudo chown ftpuser:ftpuser /var/ftp/download
sudo chmod 755 /var/ftp/uploads
sudo chmod 755 /var/ftp/download
为每个虚拟用户创建权限文件:
sudo vim /etc/vsftpd/vu_perm/uploads
sudo vim /etc/vsftpd/vu_perm/download
设置相应的权限,例如:
anon_world_readable_only NO
anon_upload_enable YES
anon_mkdir_write_enable YES
anon_other_write_enable YES
local_root /var/ftp/uploads
对于下载用户:
anon_world_readable_only NO
anon_upload_enable NO
anon_mkdir_write_enable NO
anon_other_write_enable NO
local_root /var/ftp/download
如果你的系统启用了SELinux,可能需要调整SELinux策略以允许FTP访问:
sudo setsebool -P ftp_home_dir on
sudo chcon -Rv --type=ftp_home_t /home/ftpuser
以上步骤涵盖了在CentOS上安装、配置VSFTP的基本流程,包括用户管理和权限设置。根据具体需求,可以进一步调整配置以满足安全性和功能性的要求。