在 Ubuntu 上使用 vsftpd(Very Secure FTP Daemon) 时,权限设置通常涉及 系统用户权限 + vsftpd 配置 + 目录权限 三部分。下面按常见场景说明。
sudo apt update
sudo apt install vsftpd
配置文件位置:
/etc/vsftpd.conf
编辑配置:
sudo nano /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
否则登录后可能看到整个系统目录(不安全)
ftpuser 使用 FTPsudo adduser ftpuser
sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod 755 /home/ftpuser
⚠️ 注意:
chroot 目录不能有 写权限(否则登录失败)sudo chmod 555 /home/ftpuser
sudo chmod 755 /home/ftpuser/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
echo ftpuser | sudo tee -a /etc/vsftpd.userlist
sudo usermod -s /usr/sbin/nologin ftpuser
write_enable=NO
或针对目录:
sudo chmod 555 /home/ftpuser/ftp
sudo chmod 733 /home/ftpuser/ftp
适合:
方式:
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
原因:SELinux / 权限 / chroot 目录可写
解决:
sudo chmod 555 /home/ftpuser
检查:
local_root 设置如果你能告诉我:
我可以给你一份 精确配置模板。