Centos7安装和配置FTP(以及用户的创建,selinux的设置,防火墙设置)

1、安装vsftpd及ftp命令

yum install vsftpd -y
yum install ftp -y

安装后的主配置文件位置:/etc/vsftpd/vsftpd.conf

2、编辑vsftpd的主配置文件

vim /etc/vsftpd/vsftpd.conf
在csftpd.conf的结尾添加一下内容

use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1

特别说明此文件中还需要修改两处
1、#listen_ipv6=YES(此处需要注释掉或者是等于NO)
listen=YES

#listen_ipv6=YES

or

listen_ipv6=NO

2、如果上面的listen_ipv6=注释掉了需要将listen设置为YES

3、然后建立用户文件

#第一行用户名,第二行密码,不能使用root为用户名
[root@oracle ~]vi /etc/vsftpd/virtusers#如果没有virtusers,则新建touch /etc/vsftpd/virtusers
#然后在里面加入用户名和密码信息
x***in#用户名
123456
li***u#用户名
123456
#接着生成用户的数据文件
[root@oracle ~]db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
[root@oracle ~]chmod 600 /etc/vsftpd/virtusers.db #此处可以根据权限去设定,本人设定的是777#修改/etc/pam.d/vsftpd
[root@oracle ~]vim /etc/pam.d/vsftpd#在最上面添加下面两段信息
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
# 如果系统为32位,上面改为lib

4、添加用户的配置文件信息

mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf

#这里建立两个虚拟用户配合文件
touch x****in   li***u#创建2个用户名

#建立用户根目录
mkdir -p /home/vsftpd/x***in/
mkdir -p /home/vsftpd/li***u/

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

local_root=/home/vsftpd/x***in/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

ftp的相关命令(针对系统不同,命令稍稍有一些不同,如果在使用的过程中命令无法执行,可以查查对应操作系统的命令即可)

#重启vsftpd服务器
[root@oracle ~]systemctl restart vsftpd.service
#设置开机启动
[root@oracle ~]systemctl enable vsftpd.service
#重启vsftpd服务
[root@oracle~]service vsftpd restart
#查看vsftpd服务的状态
[root@oracle~]systemctl status vsftpd.service
此时启动ftp服务看看是否能启动,正常启动
systemctl restart vsftpd.service
如果不行,则看以下方案是否有用


centos防火墙的设置(关闭防火墙)

# service firewalld status; #查看防火墙状态#systemctl enable firewalld#设置防火墙开机自动启动

(disabled 表明 已经禁止开启启动 enable 表示开机自启, inactive 表示防火墙关闭状态 activated(running)表示为开启状态)

# service firewalld start;  或者 #systemctl start firewalld.service;#开启防火墙

# service firewalld stop;  或者 #systemctl stop firewalld.service;#关闭防火墙

# service firewalld restart;  或者 #systemctl restart firewalld.service;  #重启防火墙

# systemctl disable firewalld.service#禁止防火墙开启


#yum remove firewalld#卸载firewall

selinux的设置(无法启动ftp服务很有可能是此处的设置有问题,如果无法启动,参考此处的设置) 

#查看selinux的状态
[root@oracle ~]getenforce
[root@oracle ~]vim /etc/selinux/config
#将里面的SELINUX设置为enforcing
SELINUX=enforcing
#SELINUXTYPE设置为targeted,selinux注释掉
SELINUXTYPE=targeted 

测试

Centos7安装和配置FTP(以及用户的创建,selinux的设置,防火墙设置)_第1张图片





你可能感兴趣的:(linux,ftp,centos7,ftp)