1.查看是否安装vsftpd
命令:rpm -qa|grep vsftpd
未安装
已安装
2.安装vsftpd
命令:yum install -y vsftpd
3.安装完成启动vsftpd服务
命令:service vsftpd start
查看21端口是否被监听
命令:netstat -nltp | grep 21
4.vsftpd的配置文件在/etc/vsftpd 包含
5.阻止匿名访问和切换根目录(这两项会给服务器带来安全风险)
命令:vim /etc/vsftpd/vsftpd.conf
# 禁用匿名用户 12 YES 改为NO
anonymous_enable=NO
# 禁止切换根目录 101 行 删除#
chroot_local_user=YES
编辑完成重启ftp服务
命令:service vsftpd restart
6.创建ftp用户 ftpjoe
命令:useradd ftpjoe
为用户 ftpjoe设置密码
命令:echo "123456" | passwd ftpjoe --stdin
7.限制该用户仅能通过ftp访问服务器
命令:usermod -s /sbin/nologin ftpjoe
8.为用户分配主目录
为ftpjoe用户分配主目:
/data/ftp 为主目录, 该目录不可上传文件
/data/ftp/pub 文件只能上传到该目录下
创建文件夹
命令:mkdir -p /data/ftp/pub
创建登录欢迎文件
命令:echo "Welcome to use FTP service." > /data/ftp/welcome.txt
设置访问权限
命令:chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub
设置为用户的主目录:
命令:usermod -d /data/ftp ftpjoe
9.命令
#设置开机启动
systemctl enable vsftpd.service
# 重启
service vsftpd restart
# 查看vsftpd服务的状态
systemctl status vsftpd.service
10.使用winSCP连接 cannot change directory
求简单
# 关闭SELinux服务
setenforce 0
# 关闭防火墙
iptables -F
不管防火墙需要配置开放端口
如果还是不行看下面,解决方案
主要应该是默认防火墙设置下,CentOS的防火墙是不开放ftp服务的,需要添加模块和开放21端口才能提供ftp访问
命令:vi /etc/sysconfig/iptables-config
在最后添加:IPTABLES_MODULES="ip_conntrack_ftp"
于人于己方便