如何在AWS EC2 Ubuntu上允许FTP访问且不影响原SSH权限?
解决FTP用户访问/home/ubuntu权限问题的方案
1. 调整目录与文件的权限及归属
核心是让ftpuser获得必要权限的同时,保留ubuntu用户的原有访问权限:
- 将
ftpuser加入ubuntu用户组,继承组权限:sudo usermod -aG ubuntu ftpuser - 调整
/home/ubuntu目录的组权限,允许组内成员读写执行:sudo chmod g+rwx /home/ubuntu - 递归处理目录内现有文件和子目录的组权限(如果需要让
ftpuser操作已有文件):sudo chmod -R g+rwx /home/ubuntu/* - 确认目录归属不变,避免影响
ubuntu用户的SSH访问:sudo chown -R ubuntu:ubuntu /home/ubuntu
2. 配置FTP服务器(以vsftpd为例)
确保FTP服务器允许写入并适配权限设置:
- 编辑vsftpd配置文件:
sudo nano /etc/vsftpd.conf - 检查并设置以下关键配置项:
# 开启写入权限 write_enable=YES # 禁用匿名访问(提升安全性) anonymous_enable=NO # 限制用户仅能访问指定目录(可选,防止越权) chroot_local_user=YES allow_writeable_chroot=YES - 重启vsftpd服务生效:
sudo systemctl restart vsftpd
3. 验证权限与访问
- 使用
ftpuser登录FTP,尝试创建、修改、删除文件,确认权限正常 - 用
ubuntu用户通过SSH登录,检查文件操作权限未受影响
可选的精细权限控制
如果不需要ftpuser拥有整个/home/ubuntu的权限,可以用setfacl指定特定目录:
sudo setfacl -R -m u:ftpuser:rwx /home/ubuntu/合作项目目录
内容的提问来源于stack exchange,提问作者JRR
相关产品推荐
相关产品推荐

