1. 程式人生 > 其它 >Centos7搭建vsftpd

Centos7搭建vsftpd

技術標籤:linuxcentos7linuxcentosftp

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 檢視

[[email protected] ~]# 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 埠

[[email protected] ~]# 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: [email protected]
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 服務