一、检查安装vsftp
1.检查是否安装了vsftp
# rpm -qa | grep vsftp
2.如果没有安装则使用yum安装
# yum -y install vsftp
二、启动,停止、重启、查看服务
1.启动ftp服务
# systemctl start vsftpd
2.停止ftp服务
# systemctl stop vsftpd
3.重启ftp服务
# systemctl restart vsftpd
4.查看ftp服务
# systemctl status vsftpd
三、vsftp的配置文件
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
ftpusers:该文件用来指定哪些用户不能访问ftp服务器
user_list:该文件用来指示默认账户在默认情况下也不能访问ftp
vsftpd.conf:vsftpd的主配置文件
四、创建ftp用户,并限制其访问目录
1.创建用户
# useradd -s /sbin/nologin testftp
# echo "123456" | passwd --stdin testftp
2.限制其只能访问家目录
# vim vsftpd.conf
#是否将所有用户限制在主目录,YES为启用 NO禁用. #(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的) chroot_local_user=NO #是否启动限制用户的名单 YES为启用 NO禁用(包括注释掉也为禁用) chroot_list_enable=YES #是否限制在主目录下的用户名单 chroot_list_file=/etc/vsftpd/chroot_list
# echo testftp > /etc/vsftpd/chroot_list
注:当报一下错误时,的解决方法
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!
如果检查发现还有写权限,就会报该错误。
要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。
或者你可以在vsftpd的配置文件中增加一项:
allow_writeable_chroot=YES
3.重启ftp(见二)
五、禁止匿名用户登录
# vim vsftpd.conf
anonymous_enable=NO
# systemctl restart vsftpd