1. 程式人生 > 其它 >ftp本地伺服器的搭建

ftp本地伺服器的搭建

安裝vsftpd

sudo apt install vsftpd

修改配置引數

  • 開啟配置檔案
sudo vim /etc/vsftpd.conf
  • 修改引數
#這些設定系統預設是開啟的,可以不管
listen=NO
listen_ipv6=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

#是否允許匿名訪問,NO為不允許
anonymous_enable=NO
#是否允許本地使用者訪問,就是linux本機中存在的使用者,YES允許
local_enable=YES
#是否開啟寫模式,YES為開啟
write_enable=YES
#新建檔案許可權,一般設定為022,那麼新建後的檔案的許可權就是777-022=755
local_umask=022

#是否啟動userlist為通過模式,YES的話只有存在於userlist檔案中的使用者才能登入ftp(可以理解為userlist是一個白名單),NO的話,白名單失效,和下面一個引數配合使用
userlist_enable=YES
#是否啟動userlist為禁止模式,YES表示在userlist中的使用者禁止登入ftp(黑名單),NO表示黑名單失效,我們已經讓userlist作為一個白名單,所以無需使用黑名單功能
userlist_deny=NO
#指定哪個檔案作為userlist檔案,我們稍後編輯這個檔案
userlist_file=/etc/vsftpd.user_list

#是否限制本地所有使用者切換根目錄的許可權,YES為開啟限制,即登入後的使用者不能訪問ftp根目錄以外的目錄,當然要限制啦
chroot_local_user=YES
#是否啟動限制使用者的名單list為允許模式,上面的YES限制了所有使用者,可以用這個名單作為白名單,作為例外允許訪問ftp根目錄以外
chroot_list_enable=YES
#設定哪個檔案是list檔案,裡面的使用者將不受限制的去訪問ftp根目錄以外的目錄
chroot_list_file=/etc/vsftpd.chroot_list
#是否開啟寫模式,開啟後可以進行建立資料夾等寫入操作
allow_writeable_chroot=YES

#設定ftp根目錄的位置,這個檔案我們稍後自己建立
local_root=/home/ftpuser
  • 重啟vsftpd
sudo /etc/init.d/vsftpd restart

新增使用者

  • 新增ftp使用者,例如名為:ftpuser
sudo useradd -d /home/ftpuser ftpuser
  • 設定使用者密碼
sudo passwd ftpuser

點選enter鍵後需要輸入兩次密碼即可建立成功。

  • 將使用者新增到user_listchroot_list檔案中
sudo vim /etc/vsftpd.user_list
sudo vim /etc/vsftpd.chroot_list

ftpuser使用者名稱新增到檔案中

建立使用者資料夾

  • 建立ftp根目錄資料夾
sudo mkdir /home/ftpuser
sudo chmod 555 /home/ftpuser
  • 建立子目錄
cd /home/ftpuser
sudo mkdir upload
sudo chmod 755 upload 
sudo mkdir download
sudo chmod 555 download  

訪問ftp

  • 本機訪問ftp
ftp 127.1.0.0
  • 遠端訪問ftp

connect to server

ftp://192.168.132.XX

遇到的問題

使用終端訪問ftp出現530錯誤,則需要修改/etc/pam.d/vsftpd檔案

sudo vim /etc/pam.d/vsftpd

註釋auth required pam_shells.so這句話

參考