在CentOS系统中,管理FTP服务器用户权限通常涉及以下几个步骤:
安装FTP服务器软件:
sudo yum install vsftpd
配置FTP服务器:
/etc/vsftpd/vsftpd.conf。sudo vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO # 禁止匿名用户登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许写操作
chroot_local_user=YES # 将本地用户锁定在其主目录中
allow_writeable_chroot=YES # 允许chroot目录可写
创建FTP用户:
sudo useradd ftpuser
sudo passwd ftpuser
设置用户主目录权限:
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
重启FTP服务:
sudo systemctl restart vsftpd
配置防火墙:
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --reload
使用FTP客户端测试:
如果你需要更细粒度的权限控制,可以考虑以下方法:
使用虚拟用户:
sudo yum install pam_pwdb
sudo vi /etc/pam.d/vsftpd
/etc/pam.d/vsftpd 文件中添加以下行:auth required pam_pwdb.so
account required pam_pwdb.so
/etc/vsftpd/virtual_users.txt,并添加用户信息。ftpuser1
password1
ftpuser2
password2
db_load 命令生成数据库文件。db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
/etc/pam.d/vsftpd 文件,添加以下行以使用虚拟用户数据库。auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
guest_enable=YES
guest_username=ftpuser
user_sub_token=$USER
local_root=/home/$USER
chroot_local_user=YES
allow_writeable_chroot=YES
使用SELinux:
sudo setsebool -P ftp_home_dir on
sudo chcon -Rt httpd_sys_content_t /home/ftpuser
通过以上步骤,你可以有效地管理CentOS系统上的FTP服务器用户权限。