安装vsftpd:
使用命令: apt-get install vsftpd
安装完后查看ftp服务的状态:service vsftpd status 或者 systemctl status vsftpd.service
开机启动ftp服务:systemctl enable vsftpd.service
配置vsftpd.conf
关于配置文件中用户的设置说明
ftpusers文件中是不允许访问ftp的用户
user_list文件的解释是这样的:
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
关于chroot设置说明
vsftpd配置chroot_list_enable、chroot_local_user、chroot_list_file说明_喜羊羊love红太狼的博客-CSDN博客
创建用户
1、创建一个ftp的目录: mkdir /data/ftp
2、创建一个ftp的用户,该用户只能使用ftp,不能登录系统
useradd -s /sbin/nologin -d /data/ftp ftpuser
3、给用户设置密码: passwd ftpuser
4、修改目录的用户权限
chown -R ftpuser:ftpuser /data/ftp
使用ftp命令测试
连接ftp地址:$ ftp 127.0.0.1 若已经在ftp 内则: ftp> open 127.0.0.1
如果登录失败要重新输入用户名时,使用 ftp> user
退出:ftp:bye
测试是否可以下载文件用:get 服务器文件路径名 本机文件路径名
测试是否可以上传文件用:put 本机文件路径名 服务器文件路径名
删除文件使用mdelete,删除文件夹使用rmdir
ftp命令大全详解_Sunday_ding的博客-CSDN博客
关于防火墙
ubuntu开启/关闭防火墙_振华OPPO的博客-CSDN博客
这次安装的是ubuntu系统
查看防火墙状态:sudo ufw status
查看防火墙状态 inactive是关闭,active是开启。
关闭防火墙: sudo ufw disable
开启防火墙: sudo ufw enable
centos系统下防火墙为:firewalld
关于SELinux 的状态
获取 状态 getsebool -a | grep ftp
设置某个状态值 # setsebool -P ftpd_full_access 1
问题:
配置完成后遇到用户登录出现 530 Login incorrect 的问题,百思不得其解,检查配置也没有问题,最终找到了一篇帖子,解决了这个问题 useradd -s /nologin创建用户后ftp无法登录_sunnySe的博客-CSDN博客
因:vsftpd默认会检查用户的shell,如果用户的shell在/etc/shells没有记录,则无法登陆ftp
解决办法:在/etc/shells文件里面添加用户的shell解释器
[root@localhost ftpp]# vim /etc/shells