vsftp安装配置小记

每次安装ftp服务的时候,我都得折腾很长时间,可是需求本身很简单,配置文件的修改项也很少。所以还是记录一下安装配置流程,假如以后还需要再装呢。

首先说明一下需求:为服务器安装一个ftp服务,让开发可以看指定目录的日志,禁止从该目录跳转至其他文件夹

安装ftp

1
yum install vsftpd -y

编辑配置文件

1
2
3
4
anonymous_enable=YES   #修改为NO,禁止匿名用户登陆
write_enable=YES #修改为NO,禁止上传
local_root=/ #使用该设置项可以修改用户默认登陆路径,这里我将值设置为日志路径
#chroot_local_user=YES #取消该设置项的注释,可以禁止ftp登陆用户访问local_root以外的文件夹

重启vsftp使修改生效

1
service vsftpd restart

若使用系统自带的ftp用户登陆,则不需要修改selinux。若新建了一个带家目录的nologin用户,则需要修改selinux设置,否则登陆时会报500错误

500 OOPS: cannot change directory:XXXXX

1
2
3
4
5
6
#修改selinux限制
service vsftpd stop
setsebool ftp_home_dir on
service vsftpd start
#或者直接关闭selinux
setenforce 0

另外需要注意的是,nologin的用户需要有家目录,否则即使设置好了selinux,同样会报500错误,因为当家目录不存在时,它不知道从哪里可以跳至local_root

更多内容可参考:VSftpd安装和配置FTP虚拟用户实践