最終效果:瀏覽器地址欄輸入:ftp://ip ,出現如下效果
請根據我的步驟走:
root用戶下
先增加用戶,指定目錄
useradd -d /home/vsftpddir/ksc_terminal/ ksc_terminal
指定密碼
passwd ksc_terminal
配置權限
chown ksc_terminal.ksc_terminal /home/vsftpddir/*
是否安裝: rpm -qa | grep vsftpd
安裝命令: yum -y install vsftpd
設置開機自啓動。 systemctl enable vsftpd
卸載命令: rpm -e vsftp
設置開機自啓動。 systemctl enable vsftpd
啓動 FTP 服務。systemctl start vsftpd
查看 FTP 服務端口。netstat -antup | grep ftp
pasv_enable=YES
pasv_min_port=8800
pasv_max_port=8899
主動模式:末尾
# 主動模式設置 - active mode
port_enable=YES
#(即默認情況下,FTP PORT主動模式進行數據傳輸時使用20端口(ftp-data)。YES使用,NO不使用。# 主動模式數據傳輸20端口
connect_from_port_20=YES
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_file=/var/log/xferlog
xferlog_std_format=YES
data_connection_timeout=300
# 鎖定目錄
chroot_local_user=NO
# 所有用戶都不被限制在其主目錄下 使用chroot_list_file指定的用戶列表,這些用戶作爲“例外”,受到限制
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
listen_port=21
# 被動模式 - passive mode
pasv_enable=YES
pasv_min_port=8800
pasv_max_port=8899
# 主動模式設置 - active mode
port_enable=YES
#(即默認情況下,FTP PORT主動模式進行數據傳輸時使用20端口(ftp-data)。YES使用,NO不使用。# 主動模式數據傳輸20端口
connect_from_port_20=YES
創建用戶文件:
cd /etc/vsftpd
touch chroot_list
新增ksc_terminal
保存:wq
vim user_list
刪除全部,
新增ksc_terminal
保存:wq
服務器打開20/21 端口
打開8800/8899 端口
啓動服務 systemctl start vsftpd
查看 FTP 服務端口。netstat -antup | grep ftp
啓動成功後,打開瀏覽器輸入ftp://ip 輸入用戶名密碼 即可
附加
vsftpd修改默認端口
1、編輯/etc/vsftpd/vsftpd.conf 文件,在該配置文件末尾添加此行:listen_port=6709
2、編輯/etc/services 文件,將其中的
ftp 21/tcp 改爲 ftp 6709/tcp ,
ftp 21/udp 改爲 ftp 6709/udp
3、重新啓動vsftpd 服務。 systemctl restart vsftpd.service
4、運行命令 netstat -tnulp | grep vsftpd
可以查看到現在系統現監聽的vsftpd 的端口爲6709
查看用戶是否存在:cat /etc/passwd
想要完全刪除用戶賬號(也就是刪除所有與該用戶相關的文件),以下這兩種方法個人覺得是最好的:
(1)使用 userdel -r xiaoluo命令刪除。
(2)先使用userdel xiaoluo 刪除賬戶和組的信息,在使用find查找所有與該用戶的相關文件,在使用rm -rf 刪除
FTP命令上傳文件
Mac 安裝FTP (一行運行一次)
brew install telnet
brew install inetutils
brew link --overwrite inetutils
上傳方式:
登陸:ftp ip 21
上傳:put /Users/xx/Pictures/1562579726716.jpg 15625.jpg。(本機文件目錄 文件名稱)
錯誤解決:
553 Could not create file:
執行:chown ksc_terminal.ksc_terminal /home/vsftpddir/*
對於chroot_local_user與chroot_list_enable的組合效果,可以參考下表:(讓FTP用戶只在自己的目錄,隱藏其他目錄)
|
chroot_local_user=YES |
chroot_local_user=NO |
chroot_list_enable=YES |
1.所有用戶都被限制在其主目錄下
2.使用chroot_list_file指定的用戶列表,這些用戶作爲“例外”,不受限制 |
1.所有用戶都不被限制其主目錄下
2.使用chroot_list_file指定的用戶列表,這些用戶作爲“例外”,受到限制 |
chroot_list_enable=NO |
1.所有用戶都被限制在其主目錄下
2.不使用chroot_list_file指定的用戶列表,沒有任何“例外”用戶 |
1.所有用戶都不被限制其主目錄下
2.不使用chroot_list_file指定的用戶列表,沒有任何“例外”用戶 |
我們的設置是
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
設置ftp目錄的權限
因安全問題,vsftpd不允許匿名用戶在ftp主目錄上傳,可以新建一個子目錄,然後設置權限爲777