centos7.5 搭建上FTP服务

1.安装FTP

# 查看ftp 是否安装
rpm -qa | grep vftpd

# 安装vsftp
yum install -y vsftpd

# 设置ftp 开机启动
systemctl enable vsftpd

# 启动|停止|重启 ftp
systemctl [start|stop|restart] vsftpd

# 查看状态
systemctl status vsftpd

2.配置FTP

 

# 编辑ftp配置文件
vim /etc/vsftpd/vsftpd.conf
# 显示行号
:set number

 

# 禁止匿名登录
anonymous_enables=NO

# 是否以ASCII方式传输数据。默认情况下,服务器会忽略ASCII方式的请求。
# 启用此选项将允许服务器以ASCII方式传输数据
# 不过,这样可能会导致由"SIZE /big/file"方式引起的DoS攻击
ascii_upload_enable=YES
ascii_download_enable=YES

# 将用户限制在主目录
chroot_local_user=YES

#添加下列内容到vsftpd.conf末尾
use_localtime=YES
listen_port=21
idle_session_timeout=300
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=40000
pasv_max_port=40010
accept_timeout=5
connect_timeout=1
allow_writeable_chroot=YES

3.建立用户文件

#创建编辑用户文件
vim /etc/vsftpd/virtusers
#第一行为用户名,第二行为密码。不能使用root作为用户名 

user
123456

4.生成用户数据文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
chmod 600 /etc/vsftpd/virtusers.db 

5.修改 /etc/pam.d/vsftpd 文件

# 修改前先备份 

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

vi /etc/pam.d/vsftpd
#先将配置文件中原有的 auth 及 account 的所有配置行均注释掉
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers 
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers 

# 如果系统为32位,上面改为lib

6.生成主目录,修改权限

mkdir -r /home/vsftpd/
chmod -R 777 /home/vsftpd

7.建立虚拟用户个人配置文件

cd /etc/vsftpd/vconf

#这里建立虚拟用户user配置文件
touch user

#编辑user用户配置文件,内容如下,其他用户类似
vi user

local_root=/home/vsftpd/user/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

#建立user用户根目录
mkdir -p /home/vsftpd/user/

 8.关闭防火墙和selinux

#临时关闭防火墙
systemctl stop firewalld

#禁止防火墙开机启动
systemctl disable firewalld 

#关闭selinux
setenforce 0

#修改/etc/selinux/config (SELINUX=disabled)
vi /etc/selinux/config

重启vsftp服务,如果无法正常读写文件,检查目录权限。

posted @ 2019-12-12 16:31  阿柒~  阅读(700)  评论(0编辑  收藏  举报