Centos搭建ftp服务

一:安装FTP

yum install vsftpd -y

判断是否安装成功

vsftpd -v

启动/停止/重启FTP

systemctl start vsftpd.service(service vsftpd start)  #启动
systemctl stop vsftpd.service(service vsftpd stop)    #停止
systemctl restart vsftpd.service(service vsftpd restart)#重启

二:添加ftp用户

1、创建ftp用户并设置密码

useradd vsftpd    #创建ftp用户
passwd vsftpd     #设置密码

2、配置该用户仅能通过 FTP 访问

usermod -s /sbin/nologin vsftpd

三:FTP配置

1、FTP的配置文件在/etc/vsftpd/vsftpd.conf,找到以下配置并修改或添加

# 修改为NO,关闭匿名用户访问
anonymous_enable=NO
# 将所有本地用户限制在自家目录中,NO则不限制(禁止切换根目录)。
chroot_local_user=YES 
# 设置系统用户FTP主目录
local_root=/data
# 开启charoot写权限
allow_writeable_chroot=YES
#配置可以登录ftp的用户目录
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#配置ftp用户访问目录配置目录
user_config_dir=/etc/vsftpd/userconfig
# 配置FTP被动模式的端口
pasv_min_port=30000
pasv_max_port=30000

2、配置可以登录ftp用户

vim /etc/vsftpd/user_list

在/etc/vsftpd/user_list文件中添加可以登录ftp的用户:vsftpd

3、配置ftp用户登录后访问的目录

在/etc/vsftpd目录下新建一个userconfig目录,在userconfig目录下配置用户的登录目录,例:注意:文件名就是你想要配置的用户名称

mkdir /etc/vsftpd/userconfig
vim /etc/vsftpd/userconfig/vsftpd

在vsftpd文件中添加

local_root=/data/test  #/data/test表示我登录ftp是的根目录

配置完成后重启FTP更新配置

systemctl restart vsftpd.service(service vsftpd restart)#重启

四:创建测试目录及文件

创建目录

mkdir -p /data/test

设置访问权限:

chmod 777 -R /data/test

创建一个测试文件,并在里面写上this is test!!!

vim /data/test/test.txt

五:防火墙配置

禁用防火墙/开启21端口和30000端口

禁用防火墙

systemctl stop firewalld

开启21端口和30000端口

#开启21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
#开启30000端口
firewall-cmd --zone=public --add-port=30000/tcp --permanent
#刷新配置
firewall-cmd --reload

六:客户端访问FTP服务

登录:filezilla-project.org/ 下载FIleZilla客户端工具

将下载下来的FIleZilla进行安装,安装过程十分简单,这里不介绍了

七:错误解决

1、ftp服务器登录成功,但是登录成功后发现,只能从ftp下载下拉,无法上传上去,上传时就报:

这是由于由于 vsftpd 默认被 SELinux 拦截,解决方法:

(1)首先查看SELinux中有关FTP的设置状态:

getsebool -a | grep ftp

(2)设置ftpd_full_access为开启状态

setsebool -P ftpd_full_access=on

(3)重启vsftpd服务,即可正常访问FTP

systemctl restart vsftpd.service(service vsftpd restart)#重启

2、530 Login incorrect.

(1)密码不正确导致的,重置密码重试

(2)32位或64位系统导致

vim /etc/pam.d/vsftpd
32位系统:将文件中lib64改为lib

(3)登陆shell限制

vi /etc/pam.d/vsftpd
注释掉 auth       required     pam_shells.so这行
然后 service vsftpd restart

八:完整sh代码

yum install vsftpd -y
vsftpd -v
service vsftpd start
useradd vsftpd
passwd vsftpd
usermod -s /sbin/nologin vsftpd

vim /etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/user_list

mkdir /etc/vsftpd/userconfig

vim /etc/vsftpd/userconfig/vsftpd

systemctl restart vsftpd.service
mkdir -p /data/test
chmod 777 -R /data/test

vim /data/test/test.txt

systemctl stop firewalld
getsebool -a | grep ftp
setsebool -P ftpd_full_access=on
systemctl restart vsftpd.service

vim /etc/pam.d/vsftpd

systemctl restart vsftpd.service
# 修改配置
vim /etc/vsftpd/vsftpd.conf

# 添加登陆用户
vim /etc/vsftpd/user_list

# 指定登陆目录
vim /etc/vsftpd/userconfig/vsftpd

# 写入测试文件
vim /data/test/test.txt

# 530报错debug
vim /etc/pam.d/vsftpd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值