Centos7搭建vsftpd

Centos7搭建vsftpd

1. 查看是否已经安装了vsftpd

vsftpd -version

2. 安装

yum install vsftpd -y

3. 新建ftp用户组和用户

groupadd ftp
useradd -g ftp ftpname
passwd ftpname(回车设置用户密码)

4. 关闭selinux

vi  /etc/selinux/config
SELINUX=disabled

重启服务

5. 设置用户主目录(登录时看到的目录

mkdir /home/ftpname/index	
chown -R ftpname:ftp /home/ftpname/index
usermod -d /home/ftpname/index ftpname

设置权限
chmod -R 777 /home

6. 修改配置文件 /etc/vsftpd/vsftpd.conf

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_max_port=7000
pasv_min_port=6000

7. 添加ftp用户(vi /etc/vsftpd/chroot_list),对应着vsftpd.conf的chroot_list_file


ftpname	#如果有多个ftp用户,一个用户占一行

8. 防火墙添加ftp服务,和开放端口

firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --zone=public --permanent  --add-port=6000-7000/tcp
firewall-cmd --zone=public --permanent  --add-port=21/tcp
firewall-cmd --reload

9. 设置开机启动

systemctl enable vsftpd

10. 启动vsftpd服务

systemctl start  vsftpd

注意:

启动vsftpd服务,报错:Job for vsftpd.service failed because the control process exited with error code. See “systemctl status vsftpd.service” and “journalctl -xe” for details

可进行如下操作:

1. systemctl status vsftpd.service 查看

[root@jr ~]# systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sun 2020-06-28 11:10:54 CST; 2h 31min ago
  Process: 4160 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=1/FAILURE)
Jun 28 11:10:51 wp2020 systemd[1]: Starting Vsftpd ftp daemon...
Jun 28 11:10:54 wp2020 systemd[1]: vsftpd.service: control process exited, code=exited status=1
Jun 28 11:10:54 wp2020 systemd[1]: Failed to start Vsftpd ftp daemon.
Jun 28 11:10:54 wp2020 systemd[1]: Unit vsftpd.service entered failed state.
Jun 28 11:10:54 wp2020 systemd[1]: vsftpd.service failed.

都是说vsftpd.conf配置文件中的listen=YES参数改为listen=NO,就好用了,按照此方法修改了,还是无法使用,其中vsftpd.conf的内容是默认配置,无其他修改。之后检查端口占用情况,因为没有指定端口,所以默认的端口就是21

1. 查看 21 端口

[root@jr ~]# netstat -natp |grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 2909/pure-ftpd (SER
tcp 0 0 0.0.0.0:50021 0.0.0.0:* LISTEN 3993/python
tcp 0 0 172.31.95.218:43000 100.103.0.47:3128 ESTABLISHED 2266/CmsGoAgent-Wor
tcp 0 0 127.0.0.1:50021 127.0.0.1:38346 TIME_WAIT -
tcp 0 0 172.31.95.218:57230 100.100.30.25:80 ESTABLISHED 3150/AliYunDun
tcp 0 52 172.31.95.218:22 124.234.236.5:6465 ESTABLISHED 4568/sshd: root@pts
tcp 0 0 172.31.95.218:39840 100.100.35.30:443 TIME_WAIT -
tcp6 0 0 :::21 :::* LISTEN 2909/pure-ftpd (SER

发现21端口被pure-ftpd服务所占用,然后通过 systemctl stop pureftpd.service 将pure-ftpd服务停掉,然后在 netstat -natp |grep 21 检查端口占用情况,发现21端口已经被释放

3. 重新启动 vsftpd 服务

猜你喜欢

转载自blog.csdn.net/weixin_45167444/article/details/113172432