环境准备
- 关闭防火墙
安装步骤
- 检查ftp组件安装
rpm -qa | grep vsftpd
如无任何显示,则表示为安装此服务。
如没有安装,则输入命令。
zypper install -y vsftpd
- 修改vsftpd的配置文件
vim /etc/vsftpd.conf
可以先备份一份
修改内容如下
#启动向服务器写的权限
write_enable=YES
# 允许本地用户登录
local_enable=YES
# 一个用户不能访问自己主目录之外的目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
- 编辑vsftpd.chroot_list文件,将创建的ftp用户添加到如下文件中(如:ftpuser)
vim /etc/vsftpd.chroot_list
此文件包含对服务器上所有FTP内容有权限的用户名。对其他用户来说,他们在服务器上的主目录对他们显示为根目录。
- 启动vsftpd服务相关(加入开机启动项)
# 查看vsftpd运行状态
service vsftpd status
# 启动vsftpd服务
service vsftpd start
# 重启vsftpd服务
service vsftpd restart
# 查看vsftpd自动状态
chkconfig --list | grep vsftpd
# 添加vsftpd自启动
chkconfig vsftpd on
- 修改ftpusers文件
此文件包含禁止FTP登录的用户名,通常有root、uucp、news之类,因为这些用户权限太高,登录FTP误操作危险性大。
如果在测试中使用root登录FTP,修改如下:
vim /etc/ftpusers
# 将root之前的#取消,重启vsftpd服务,即可使用root的账号与密码登录ftp。
- 创建用户
useradd -d /home/ftpuser -m ftpuser
# 设置密码
passwd ftpuser
可用(ftpuser/密码 21 ftp方式登录)登录
遇到问题
- 无法下载vsftpd
- 解决方法:
源有问题,参考
使用zypper安装软件
- 服务无法启动
- 解决方法
systemctl unmask vsftpd.service
- 无法连接
- 解决方法
vim /etc/vsftpd.conf
# 将这一行放开
#将ftpsecure 修改为系统中存在的用户
nopriv_user=ftpsecure
service vsftpd restart