Ubuntu的FTP服务设置
Author:一爸带两霸Posted on:Category:技术狂魔
1.更新源
sudo apt-get update
2.安装FTP
sudo apt-get install vsftpd
sudo apt-get install ftp
3.设置访问用户
类型1
sudo useradd -d /home/ftp -m [FTP_NAME] //设置用户
sudo passwd [FTP_NAME] //设置密码
类型2
sudo passwd ftp //设置默认用户密码
4.创建文件夹
sudo mkdir /home/ftp //存储路径
chmod -R 777 /home/ftp //权限设定
5.配置FTP服务
#文件修改
sudo vim /etc/vsftpd.conf
#去除注释符
listen=NO # 阻止 vsftpd 在独立模式下运行
listen_ipv6=YES # vsftpd 将监听 ipv6 而不是 IPv4,你可以根据你的网络情况设置
anonymous_enable=NO # 关闭匿名登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 启用可以修改文件的 FTP 命令
chroot_local_user=YES(是否将所有用户限制在主目录)
chroot_list_enable=YES(是否启动限制用户的名单)
chroot_list_file=/etc/vsftpd.chroot_list(可在文件中设置多个账号)
local_umask=022 # 本地用户创建文件的 umask 值
dirmessage_enable=YES # 当用户第一次进入新目录时显示提示消息
xferlog_enable=YES # 一个存有详细的上传和下载信息的日志文件
connect_from_port_20=YES # 在服务器上针对 PORT 类型的连接使用端口 20(FTP 数据)
xferlog_std_format=YES # 保持标准日志文件格式
pam_service_name=vsftpd # vsftpd 将使用的 PAM 验证设备的名字
#修改如下配置
anonymous_enable=NO (不允许匿名访问,必须登录)
chown_uploads=YES (允许上传改变)
#并且添加如下内容
local_root=/home/ftp (访问目录)
allow_writeable_chroot=YES
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users
同时在/etc下创建vsftpd.chroot_list文件,这个文件创建完成保持为空即可
sudo touch /etc/vsftpd.chroot_list
# 设置开机启动并启动ftp服务
systemctl enable vsftpd
systemctl start vsftpd
6.重启及开机自启动
sudo service vsftpd restart #重启
7.故障
ftp localhost
如果登录ftp总是出现密码错误,可以将/etc/vsftpd.conf配置文件的pam_service_name=vsftpd改为pam_service_name=ftp,即可解决。
pam_service_name=ftp
修改完成,重启ftp,测试。重复步骤5
8.启动
ftp localhost
Connected to localhost... ...