FileZilla连接Ubuntu的权限设置指南
为避免使用root用户带来的安全风险,建议创建专用SFTP用户。执行以下命令:
sudo adduser sftpuser
按提示设置强密码及用户信息(如全名、邮箱等)。
创建sftp_users组并将用户添加至该组,便于统一管理权限:
sudo groupadd sftp_users
sudo usermod -aG sftp_users sftpuser
编辑SSH配置文件/etc/ssh/sshd_config,在文件末尾添加以下内容,限制sftp_users组的用户只能使用SFTP并锁定其访问目录:
Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
说明:
ChrootDirectory %h:将用户限制在其家目录(如/home/sftpuser),防止访问系统其他部分;ForceCommand internal-sftp:强制使用SFTP协议,禁用SSH shell访问。sudo chown root:root /home/sftpusersudo chmod 755 /home/sftpuseruploads)并设置正确权限:sudo mkdir /home/sftpuser/uploadssudo chown sftpuser:sftp_users /home/sftpuser/uploadssudo chmod 755 /home/sftpuser/uploadssftpuser),组为sftp_users,权限755允许用户读写,组用户仅读。执行以下命令重启SSH服务,使上述配置生效:
sudo systemctl restart sshd
若需使用FTP协议(默认端口21),需安装并配置vsftpd服务:
sudo apt update && sudo apt install vsftpd
编辑/etc/vsftpd.conf文件,确保以下配置项开启:
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
说明:
local_enable=YES:允许本地用户登录;write_enable=YES:允许用户上传/修改文件;chroot_local_user=YES:将用户限制在家目录(类似SFTP的Chroot功能);allow_writeable_chroot=YES:允许chroot目录可写(避免权限冲突)。sudo systemctl restart vsftpd
sftpuser)及其密码;ufw),需允许对应端口(SFTP:22;FTP:21)的流量:sudo ufw allow 22/tcp 或 sudo ufw allow 21/tcp。