53屆畢業班302

.......

佈告欄

公告事項:

2023年8月5日 星期六

vsftp Server

 安裝 vsftp

sudo apt update

sudo apt install vsftpd


sudo systemctl status vsftpd

設定 vsftp 

sudo nano /etc/vsftpd.conf


1. 存取限制

禁止匿名者登入,以及本地帳號皆可使用

anonymous_enable=NO
local_enable=YES

2. 允許上傳

write_enable=YES


3. 限制目錄切換

chroot_local_user=YES

allow_writeable_chroot=YES


4. 被動連線 (PASV)

pasv_min_port=30000
pasv_max_port=31000


5. 限制登入

除了上面設定的本機使用者可以登入外,也可以使用下面這些設定,僅讓清單上的使用者登入 FTP,我們將設定檔放在/etc/vsftpd.user_list內,檔案內 一行 為 一個使用者帳號

userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO

6. 設定防火牆

設定好 vsftp 之後,安全起見還是要把防火牆設定起來,FTP 需要開啟 port 20, port 21 以及上面設定的被動模式 port 區間

sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp


建立及設定 FTP 使用者

1. 新增使用者

使用adduser建立一個使用者 newftpuser (帳號換成自己要的),並且把該使用者加入到允許登入清單中

sudo adduser newftpuser
echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list

禁止 Shell 登入

由於只想讓該帳號使用 FTP 的功能,不希望該帳號透過 SSH 的方式登入進主機,新增一個名為 ftponly 的 Shell

echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponly

將我們建立的/bin/ftponly加入到 shell 清單中

echo "/bin/ftponly" | sudo tee -a /etc/shells

接著把 newftpuser 的 shell 指定為/bin/ftponly

sudo usermod newftpuser -s /bin/ftponly


資料來源



0 意見:

張貼留言