一、yum安装vsftpd
1、首先查看是否有安装过ftp
rpm -qa | grep vsftpd
2、如果没有则进行安装(看到complete后说明安装成功)
yum -y install vsftpd
3、启动ftp服务
systemctl start vsftpd //启动ftp服务
systemctl enable vsftpd //开机自启动
4、查看端口
netstat -anp|grep vsftpd
二、用户设置
1、添加vsftpd用户以及定义用户目录
useradd –d /user/ftpFile -g ftp –s /sbin/nologin ftpuser
a、-d /user/fileFile 为自定义的ftp目录位置
b、-g ftp 把用户加入到ftp组中(vsftpd已创建)
c、-s /sbin/nologin 表示这个用户不能用来登录secureCRT这样的客户端,这种不能登陆的用户又叫做虚拟用户
c、ftpuser ftp用户名(虚拟用户名),在配置时把这个ftpuser换成你的ftp用户名
创建过程给出的警告信息是正常的,不用理会
注意:
用useradd建立的用户,如果后面不加–s /sbin/nologin参数,建立的用户为普通系统用户,有系统登陆centos服务器的
权限;在useradd命令后面加上参数–s /sbin/nologin,为centos 服务器虚拟主机添加不可以登录系统的专用账号(虚拟账户)
2、为刚添加的用户设置密码
passwd ftpuser
两次输入用户密码
如果用户名有误,则删除用户重新新建用户
删除用户 - userdel -r ftpuser
3、设置目录权限
a、把目录/user/ftpFile的拥有者设置为ftpuser
chown -R ftpuser /user/ftpFile
b、使ftpuser 用户拥有这个目录的读写权限
三、修改配置文件
(阿里云的默认是可以匿名访问的,想要不匿名访问就将anonymous_enable=YES 改为 anonymous_enable=NO)
1、修改配置文件
vim /etc/vsftpd/vsftpd.conf
以下配置如果原配置中未找到可手动添加
anonymous_enable=NO # 禁用匿名登录 # 若只允许匿名用户访问,前面加上#注释掉即可阻止本地用户访问FTP服务器
chroot_local_user=YES # 启用限定用户在其主目录下
chroot_list_enable=YES
use_localtime=YES # 使用本地时(自行添加)
local_enable=YES # 允许使用本地帐户进行FTP用户登录验证
write_enable=YES #是否允许本地用户对FTP服务器文件具有写权限,默认设置为YES允许
local_umask=022 # 设置本地用户默认文件掩码022
allow_writeable_chroot=YES # 如果启用了限定用户在其主目录下需要添加这个配置
xferlog_enable=YES # 启用上传和下载的日志功能,默认开启。
listen=YES # 如果设置为YES,则vsftpd将以独立模式运行,由vsftpd自己监听和处理IPv4端口的连接请求
修改完成之后,保存退出
2、在chroot_list中添加ftpuser用户,首先通过vi命令打开chroot_list文件(此文件本来是空的)
vi /etc/vsftpd/chroot_list
增加一行,然后保存退出
四、对ftp服务端口设置防火墙不拦截
可在对应的实例安全组规则中进行设置