ubuntu

Ubuntu FTP Server用户权限如何设置

小樊
45
2025-10-27 18:52:20
栏目: 智能运维

Ubuntu FTP Server用户权限设置指南(基于vsftpd)

1. 安装vsftpd

首先确保系统安装了vsftpd(Ubuntu默认仓库提供):

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd基础权限

编辑配置文件/etc/vsftpd.conf(需root权限),调整以下关键参数以控制用户权限:

3. 创建FTP用户并设置目录权限

3.1 创建系统用户(作为FTP用户)

sudo adduser ftpuser  # 按提示设置密码及个人信息

3.2 禁止Shell登录(增强安全性)

FTP用户无需Shell访问,修改其默认Shell为/sbin/nologin

sudo usermod -s /sbin/nologin ftpuser

3.3 设置家目录权限

确保用户家目录归属正确且权限合规(允许用户读取/执行目录,写入文件需后续调整子目录权限):

sudo chown ftpuser:ftpuser /home/ftpuser  # 将家目录所有者设为用户自身
sudo chmod 755 /home/ftpuser            # 目录权限设为755(所有者可读/写/执行,其他用户仅读/执行)

3.4 设置上传目录权限(可选)

若用户需上传文件到子目录(如public_html),需单独设置该目录权限:

sudo mkdir -p /home/ftpuser/public_html
sudo chown ftpuser:ftpuser /home/ftpuser/public_html  # 所有权归用户
sudo chmod 775 /home/ftpuser/public_html            # 允许用户及所属组写入

4. 配置用户列表(可选,精确控制访问)

若需限制仅特定用户可登录,需创建用户列表文件并添加允许的用户:

echo "ftpuser" | sudo tee /etc/vsftpd.user_list  # 添加允许的用户(每行一个)

确保配置文件中userlist_enable=YESuserlist_deny=NO(允许列表内用户登录)。

5. 重启vsftpd服务

修改配置后,重启服务使更改生效:

sudo systemctl restart vsftpd

6. 配置防火墙(若启用)

若服务器启用了UFW防火墙,需开放FTP相关端口:

sudo ufw allow 21/tcp       # FTP控制连接(默认端口)
sudo ufw allow 20/tcp       # FTP数据连接(主动模式默认端口)
sudo ufw allow 30000:31000/tcp  # 被动模式端口范围(根据实际情况调整)
sudo ufw reload             # 重新加载防火墙规则

7. 测试FTP连接

使用FTP客户端(如FileZilla)或命令行工具测试连接:

ftp your_server_ip  # 输入用户名(ftpuser)和密码

验证是否能正常登录、上传/下载文件(如进入public_html目录测试写入权限)。

高级权限管理(可选)

通过以上步骤,可灵活控制Ubuntu FTP Server用户的访问权限,平衡功能需求与安全性。

0
看了该问题的人还看了