配置Debian FTP服务器用户权限通常涉及以下几个步骤:
Debian默认使用vsftpd
作为FTP服务器软件。你可以使用以下命令安装它:
sudo apt update
sudo apt install vsftpd
安装完成后,你需要编辑vsftpd
的配置文件/etc/vsftpd.conf
。
sudo nano /etc/vsftpd.conf
以下是一些常用的配置选项:
listen=YES
:启用FTP服务器监听。listen_ipv6=NO
:禁用IPv6支持(如果不需要)。anonymous_enable=NO
:禁用匿名用户登录。local_enable=YES
:允许本地用户登录。write_enable=YES
:允许用户上传文件。chroot_local_user=YES
:将本地用户限制在其主目录中。allow_writeable_chroot=YES
:允许chroot目录可写(如果需要)。userlist_enable=YES
:启用用户列表。userlist_file=/etc/vsftpd.userlist
:用户列表文件路径。userlist_deny=NO
:允许用户列表中的用户登录。你可以通过编辑/etc/passwd
文件来设置用户的默认shell,或者通过chsh
命令更改用户的shell。
sudo chsh -s /sbin/nologin username
这将把用户的shell设置为/sbin/nologin
,从而禁止他们通过SSH登录,只能通过FTP访问。
你可以使用adduser
命令创建一个新的FTP用户。
sudo adduser ftpuser
系统会提示你输入用户的密码和其他信息。
确保FTP用户的家目录权限设置正确,以便他们可以上传和下载文件。
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
完成配置后,重启vsftpd
服务以应用更改。
sudo systemctl restart vsftpd
你可以使用FTP客户端(如FileZilla)测试连接,确保配置正确。
如果你启用了防火墙,确保允许FTP流量。
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
如果你启用了用户列表,可以在/etc/vsftpd.userlist
文件中添加允许登录的用户。
sudo nano /etc/vsftpd.userlist
添加用户名,每行一个。
如果你需要通过防火墙进行FTP连接,可能需要配置被动模式。
编辑/etc/vsftpd.conf
文件,添加或修改以下行:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
然后重启vsftpd
服务。
通过以上步骤,你应该能够成功配置Debian FTP服务器的用户权限。