Linux安裝FTP服務器(修改端口、隱藏其他目錄)及成功上傳文件

最終效果:瀏覽器地址欄輸入: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
被動模式:添加配置信息 修改配置文件 vim /etc/vsftpd/vsftpd.conf    在文件末尾添加:
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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章