Design System
Pada praktikum kali ini, kita akan mencoba mengimplementasikan dasar teori file server yang sudah kita bahas sebelumnya disini. pada gambar diatas merupakan topologi sederhana yang akan kita gunakan untuk membuat file server pada jaringan local (LAN). terdapat satu buah file server yang berisi Vsftpd dan tiga buah client yang berisi filezilla untuk mengakses file server yang dibuat. karena proses instalasi Vsftpd menggunakan jaringan internet, maka pastikan koneksi internet anda pada topologi ini dapat berfungsi dengan baik.
Menyiapkan File Server
Step 1 - Install Vsftpd
Vsftpd atau “Very Secure FTP Daemon” merupakan salah satu aplikasi file server yang dapat dijalankan di sistem operasi linux like seperti ubuntu, redhat dan lain sebagainya. karena memiliki license GNU General Public License sehingga dapat digunakan oleh orang umum dengan gratis. untuk itu sesuai dengan kasus kita yang menggunakan ubuntu sebagai praktikum. maka untuk melakukan instalasi Vsftpd diperlukan perintah seperti dibawah ini.
sudo apt update
sudo apt install vsftpd
setelah proses instalasi selesai, langkah selanjutnya adalah melakukan konfigurasi yang diperlukan untuk keperluan file server. namun sebelum jauh kesana alangkah baiknya kita melakukan backup konfigurasi default terlebih dahulu agar apabila terjadi kesalahan dapat dikembalikan ke settingan default. untuk itu bisa digunakan perintah seperti ini.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Step 2 - Menyiapkan User Directory
Agar dapat mengakses FTP Server diperlukan sebuah user. sebenarnya sistem operasi secara default biasanya sudah ada user yang bisa dipake. namun agar dapat mengetahui tahapanya dari awal maka kita akan mencoba membuat user khusus untuk mengakses FTP Server. untuk itu berikut tahapan yang bisa dilakukan.
membuat user dengan nama rudi
sudo adduser rudi
membuat direktori baru untuk keperluan ftp
sudo mkdir /home/rudi/ftp
mengubah ownership dengan user nobody
dan group nobody
sudo chown nobody:nogroup /home/rudi/ftp
mengaktifkan permission folder agar dapat a
: mengakses
dan w
: menulis
sudo chmod a-w /home/rudi/ftp
melihat daftar file dan folder di dalam path /home/rudi/ftp
sudo ls -la /home/rudi/ftp
sudo mkdir /home/rudi/ftp/files
sudo chown rudi:rudi /home/rudi/ftp/files
sudo ls -la /home/rudi/ftp
Step 3 - Konfigurasi Akses FTP
Pada praktikum kali ini kita akan melakukan konfigurasi agar sebuah user dapat terhubung ke FTP Server. untuk itu hal pertama yang perlu dilakukan adalah membuka file konfigurasi vsftpd yang terdapat di /etc/vsftpd.conf
sudo nano /etc/vsftpd.conf
. . .
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
. . .
selajutnya, agar user dapat upload perlu uncomment baris write_enable
. . .
write_enable=YES
. . .
diperlukan juga uncomment chroot
agar dapat mencegah user yang terhubung ke FTP Server mengakses files lainnya selain path yang sudah disediakan
. . .
chroot_local_user=YES
. . .
agar user yang mengakses sesuai dengan kebutuhan, maka silahkan replace $USER
dibawah ini dengan user terkait.
. . .
user_sub_token=$USER
local_root=/home/$USER/ftp
Untuk mengizinkan akses FTP berdasarkan kasus per kasus, mari atur konfigurasi sehingga pengguna hanya memiliki akses saat mereka ditambahkan secara eksplisit ke daftar, bukan secara default:
. . .
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
echo "rudi" | sudo tee -a /etc/vsftpd.userlist
cat /etc/vsftpd.userlist
rudi
sudo systemctl restart vsftpd
Step 4 - Test Akses FTP
login dengan nonvalid user
ftp -p 203.0.113.0
Output
Connected to 203.0.113.0.
220 (vsFTPd 3.0.3)
Name (203.0.113.0:default): anonymous
530 Permission denied.
ftp: Login failed.
ftp>
login dengan user yang valid
ftp -p 203.0.113.0
Output
Connected to 203.0.113.0.
220 (vsFTPd 3.0.3)
Name (203.0.113.0:default): rudi
331 Please specify the password.
Password: your_user's_password
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Tugas
Buatlah dokumentasi dari praktikum diatas, kemudian kirimkan file berformat .pdf ke abdullahainun97 [at] gmail.com dengan subject name Praktikum File Server - nama kelompok. kirimkan sebelum 14 Oktober 2022 pukul 23:59.