Linux搭建ftp服务器
安装vsftpd
- 安装系统时勾选ftp服务器,这样系统安装成功后自带vsftpd
- yum install vsftpd
配置vsftpd.conf
配置不允许匿名登录ftp,并且用户只能在自己得工作目录内切换,用filezilla客户端登录,看到的最上层路径为’/’
备份配置文件:
#:cd /etc/vsftpd
#:mv vsftpd.conf vsftpd.conf_bak
//去除配置文件里面的注释并写到新的配置文件中
#:cat vsftpd.conf_bak | grep -v '^#' > vsftpd.conf
下面将配置文件中一些比较重要的进行说明:
cd /etc/vsftpd/
vi vsftpd.conf
#禁止匿名用户登录
anonymous_enable=NO
#本地用户创建文件得umask值
local_umask=022
#用户只能在自己工作目录内切换
chroot_local_user=YES
#允许用户在工作目录内有写权限
allow_writeable_chroot=YES
创建用户
useradd ftpuser
passwd ftpuser
chmod 777 /home/ftpuser
设置自启动
vi /etc/rc.local
service vsftpd start
//关闭防火墙开机自启动
systemctl disable firewalld
注意事项
-
关闭防火墙
iptables -P INPUT ACCEPT
iptables -F -
selinux设置为disabled
vi /etc/selinux/config SELINUX=disabled reboot
或将ftp_home_dir这个状态开启
setsebool ftp_home_dir=1 //查看ftp_home_dir状态为on sestatus -b | grep ftp
-
ftp客户端连接时报错:vsftpd:500 OOPS:refusing to run with writable root inside chroot():
2.3.5版本后,在限定了用户只能在自己工作目录切换,默认用户的主目录是没有写权限的,如果用户目录设置了写权限就会报错,解决方法:
在vsftpd.config里面加上:
allow_writeable_chroot=YES
或直接设置用户目录没有写权限:
chmod 555 /home/ftpuser------------已下为一些ftp配置的知识点---------------