首先在控制台添加ftp防火墙规则:
然后进入服务器安装ftp(安装vsftpd):
sudo apt update
sudo apt install vsftpd
使用以下命令检查其状态:
sudo service vsftpd status
如果FTP服务器未运行,请使用以下命令启动它:
sudo service vsftpd start
重启命令:
sudo service vsftpd restart
安装好之后要新建一个账号用来连接ftp,这里不要使用root账号,为了安全考虑,
如果嫌麻烦,非要用root账号,也是可以,以FileZilla为例,要选择SFTP协议连接
返回正题,创建一个ftp账号:
sudo adduser 用户名
将用户添加到ftp分组
sudo usermod -aG ftp 用户名
授予指定文件夹权限:
sudo setfacl -R -m u:用户名:rwx /path/to/folder
设置改文件夹除所有者外也可以上传:
sudo chmod o+w /path/to/folder
如果在您的系统上找不到 setfacl 命令,可能是因为缺少相应的软件包。您可以通过安装 acl 软件包来获取 setfacl 命令。
在 Ubuntu 上,您可以使用以下命令安装 acl 软件包:
sudo apt-get update
sudo apt-get install acl
检查您的 vsftpd.conf 配置文件,确保写入权限已正确配置。您可以使用 sudo vi /etc/vsftpd.conf 命令编辑配置文件。
确保以下配置项被设置为相应的值(不存在则添加):
write_enable=YES
local_umask=022
保存配置文件并重新启动 vsftpd 服务。
然后打开filezilla连接服务器:
这里是使用明文的方式传输,使用FTPS需要改配置文件,不过测试连接不上,还没找到解决方案