Merupakan sebuah proyek yang berfokus pada pemanfaatan shell script sebagai media untuk melakukan automasi FTP server, dalam hal ini kami menggunakan software vsftpd. Selain itu, kami juga memberikan opsi lain berupa konfigurasi DNS server untuk kemudahan akses, tetapi dengan syarat alamat IP yang digunakan itu statis (tidak berubah-ubah!). Fitur lain yang kami tambahkan yaitu adanya akses ke aplikasi manajemen user FTP melalui web, sehingga tidak perlu susah payah masuk ke server hanya untuk menambahkan user baru ke dalam allowed user file.
Kami telah mencobanya di Ubuntu Server 22.04.4 (LTS version) dan hasilnya work.
- FTP Server: vsftpd
- DNS Server: bind9
- Web: Python Flask + Bootstrap
Daftar nama user FTP harus diinputkan secara manual ke dalam file "userlist.txt" terutama saat akan menjalankan auto install. Atau bisa diganti sesuai keinginan, tetapi argumen untuk parameter userlist (-l)
harus disesuaikan dengan nama file tersebut.
# Clone the repository first.
git clone https://github.com/wahyukiddies/SaFeTP.git && chmod a+x safetp.sh
# And then, run the safetp.sh script with 1 required parameters!
# Change with your own userlist file!.
sudo bash safetp.sh -l userlist.txt
# You can change the port by provide -p.
sudo bash safetp.sh -l userlist.txt -p 2121 # by default is 21.
# And also, you can change the directory name for each allowed users:
sudo bash safetp.sh -l userlist.txt -p 2121 -dir ftpdir # by default is "$HOME/ftp".
# Lastly, you can add spesific domain name to make easy access to FTP server and SaFeTP web.
sudo bash safetp.sh -l userlist.txt -p 2121 -dir ftpdir -d safetp.local
Jika terdapat error ketika mencoba menjalankan di environment Linux, cobalah untuk mengubahnya ke format UNIX/Linux menggunakan tool dos2unix
:
# Install tool dos2unix.
sudo apt install -y dos2unix
# Ubah ke format LF pada shell script.
dos2unix safetp.sh
-
Konfigurasi DNS Server:
-
Konfigurasi FTP Server:
-
Konfigurasi SSL pada FTP Server: