ftp本地伺服器的搭建
阿新 • • 發佈:2021-06-23
安裝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_list
和chroot_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
這句話