Centos7搭建vsftpd
阿新 • • 發佈:2021-01-27
技術標籤: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 服務