在Ubuntu上设置FTP服务器并配置共享目录,可以使用多种FTP服务器软件,如vsftpd、ProFTPD或Pure-FTPd。以下是使用vsftpd作为示例的步骤:
首先,确保你的系统是最新的,然后安装vsftpd:
sudo apt update
sudo apt install vsftpd
安装完成后,你需要编辑vsftpd的配置文件 /etc/vsftpd.conf。
打开配置文件:
sudo nano /etc/vsftpd.conf
进行以下基本配置:
# 启用本地用户登录
local_enable=YES
# 启用写权限
write_enable=YES
# 允许本地用户上传文件
local_umask=022
# 启用被动模式
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50100
# 允许匿名用户登录(可选)
# anonymous_enable=YES
# 匿名用户的主目录
# anon_root=/var/ftp
# 启用日志记录
xferlog_enable=YES
connect_from_port_20=YES
# 禁止匿名用户上传
# anon_upload_enable=NO
# 禁止匿名用户下载
# anon_mkdir_write_enable=NO
假设你想让用户 username 能够访问 /home/username/shared 目录,你可以这样做:
创建共享目录:
sudo mkdir -p /home/username/shared
设置目录权限:
sudo chown username:username /home/username/shared
sudo chmod 755 /home/username/shared
在vsftpd配置文件中添加用户和目录映射:
# 用户特定配置
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
# 添加用户到userlist文件
echo "username" | sudo tee -a /etc/vsftpd.userlist
保存并关闭配置文件后,重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
如果你启用了被动模式,需要在防火墙中打开相应的端口范围(例如50000到50100):
sudo ufw allow 50000:50100/tcp
使用FTP客户端连接到你的服务器,测试是否可以访问共享目录。
通过以上步骤,你应该能够在Ubuntu上成功设置一个FTP服务器并配置共享目录。根据你的具体需求,可能还需要进行其他配置和调整。