温馨提示×

Ubuntu FTP Server如何设置权限

小樊
45
2025-07-18 11:49:18
栏目: 智能运维

在Ubuntu上设置FTP服务器权限,通常需要使用vsftpd(Very Secure FTP Daemon)这个流行的FTP服务器软件。以下是设置FTP服务器权限的步骤:

安装vsftpd

首先,确保你已经安装了vsftpd。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install vsftpd

配置vsftpd

编辑vsftpd的配置文件,通常位于 /etc/vsftpd.conf。你可以使用文本编辑器打开配置文件,例如使用nano编辑器:

sudo nano /etc/vsftpd.conf

在配置文件中,根据需要进行以下设置:

  • 禁止匿名访问:
anonymous_enable=NO
  • 允许本地用户登录:
local_enable=YES
  • 允许文件写入(上传/删除):
write_enable=YES
  • 限制用户访问其主目录(防越权):
chroot_local_user=YES
allow_writeable_chroot=YES
  • 启用用户列表(更安全):
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
  • 设置被动模式端口范围(避开常用端口):
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048

设置用户权限

  1. 创建FTP用户
sudo adduser ftpuser
  1. 设置FTP用户的密码
sudo passwd ftpuser
  1. 更改FTP用户的主目录权限
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
  1. 配置用户列表(可选)
  • 编辑用户列表文件:
sudo nano /etc/vsftpd.user_list
  • 添加允许登录的用户名,每行一个:
ftpuser
  • 保存并退出。

重启vsftpd服务

保存并关闭配置文件后,重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

配置防火墙

如果你使用的是ufw(Uncomplicated Firewall),确保允许FTP流量:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 1024:1048/tcp
sudo ufw enable

测试FTP连接

使用FTP客户端(如FileZilla)连接到你的服务器,使用配置的用户名和密码进行登录,测试上传和下载功能。

请注意,FTP协议本身不安全,因为它在传输数据时不加密。对于更安全的文件传输,建议使用SFTP(SSH File Transfer Protocol),它是基于SSH的,并且提供了数据加密。

0