安装之前先送上卸载方法^-^! --(如果失败请先关闭服务service vsftpd stop)
yum remove vsftpd
使用vsftpd软件,主要包括如下几个命令:
启动ftp命令:service vsftpd start
停止ftp命令:service vsftpd stop
重启ftp命令:service vsftpd restart
查看版本:rpm -qa |grep vsftpd
一、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端口的连接请求
connect_from_port_20=YES #连接端口(20)是否开启
chown_uploads=YES #设定是否允许 改变 上传文件的属主
chown_username=whoever #设置想要改变的上传目录的属主,如果需要则输入一个系统用户名,例如可以把上传的文件都改成root属主。这这里whoever代表任何人。
xferlog_file=/var/log/vsftpd.log #设置系统维护记录ftp服务器上传和下载情况的日志文件
xferlog_std_format=YES #如果启用此选项,传输日志文件将以标准xferlog的格式书写,该格式的日志文件默认为/var/log/xferlog,也可以通过xferlog file选项对其进行设定,默认值为NO
idle_session_timeout=600 #设置数据传输中断间隔时间,此语句表示空闲的用户中断时间为600秒,既当数据传输结束后,用户连接ftp服务器时间不应超过600秒,可以根据实际情况进行修改
date_connection_timeout=120 #设置数据连接超时时间,该语句表示数据连接超时时间为120秒,可根据实际情况对其修改
nopriv_user=ftpsecure #运行vsftpd需要的非特权系统用户,缺省是nobody
async_abor_enable=YES #如果ftp客户端下达async ABOR这个指令时,这个设定才需要启用
ascii_upload_enable=YES #大多数ftp服务器都选择用ASCII方式上传数据
ascii_download_enable=YES #以ASCII方式下载数据
ftpd_banner=Welcome to blah FTP service #登录ftp显示的欢迎信息,可以修改欢迎内容,这一点和目录提示差不多,同样需要在目录下创建.message文件,文件内容为欢迎信息
deny_email_enable=YES #可以拒绝某些email地址来控制登录权限
banner_email_file=/etc/vsftpd/banned_emails #与上面一项配合使用,这里就是拒绝的email地址列表
chroot_list_enable=YES #设置为no的时候,用户可以切换目录,设置为yes的时候,用户只能在自己的home目录中,需要和chroot_list_file配合使用,下面一行固定,在右方写的文件目录下,加入用户,文件内的用户就无法切换目录。
ls_recurse_enable=YES #是否允许递归查询,大型站点的ftp服务器启用此项方便远程用户查询
listen=YES #是否处于监听状态
listen_ipv6=YES #是否支持ipv6
pam_service_name=vsftpd #设置pam外挂模块提供的认证服务所使用的配置文件名,既/etc/pam.d/vsftpd文件,此文件中file=/etc/vsftpd/ftpusers字段,说明了pam模块能抵挡的账号内容来自文件/etc/vsftpd/ftpusers中
userlist_enable=YES #是否允许user list文件中的用户登录ftp服务器
tcp_wrappers=YES #表明服务器在使用tcp wrappers作为主机访问控制方式,tcp wrappers可以实现linux系统中网络服务的基于主机地址的访问控制,在/etc目录中的hosts.allow和hosts.deny两个文件用于设置tcp wrappers的访问控制,前者是指允许访问记录,后者设置拒绝访问记录。
修改完成之后,保存退出
2、在chroot_list中添加ftpuser用户,首先通过vi命令打开chroot_list文件(此文件本来是空的)
vi /etc/vsftpd/chroot_list
增加一行,然后保存退出
四、对ftp服务端口设置防火墙不拦截
可在对应的实例安全组规则中进行设置