Design System#

Image 1: Topologi LAN Yang berisi sebuah file server
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.
1
2
| 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.
1
| 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
membuat direktori baru untuk keperluan ftp
1
| sudo mkdir /home/rudi/ftp
|
mengubah ownership dengan user nobody
dan group nobody
1
| sudo chown nobody:nogroup /home/rudi/ftp
|
mengaktifkan permission folder agar dapat a
: mengakses
dan w
: menulis
1
| sudo chmod a-w /home/rudi/ftp
|
melihat daftar file dan folder di dalam path /home/rudi/ftp
1
| sudo ls -la /home/rudi/ftp
|
1
2
| sudo mkdir /home/rudi/ftp/files
sudo chown rudi:rudi /home/rudi/ftp/files
|
1
| 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
1
| sudo nano /etc/vsftpd.conf
|
1
2
3
4
5
6
7
| . . .
# 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
1
2
3
| . . .
write_enable=YES
. . .
|
diperlukan juga uncomment chroot
agar dapat mencegah user yang terhubung ke FTP Server mengakses files lainnya selain path yang sudah disediakan
1
2
3
| . . .
chroot_local_user=YES
. . .
|
agar user yang mengakses sesuai dengan kebutuhan, maka silahkan replace $USER
dibawah ini dengan user terkait.
1
2
3
| . . .
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:
1
2
3
4
| . . .
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
|
1
| echo "rudi" | sudo tee -a /etc/vsftpd.userlist
|
1
2
| cat /etc/vsftpd.userlist
rudi
|
1
| sudo systemctl restart vsftpd
|
Step 4 - Test Akses FTP#
login dengan nonvalid user
1
2
3
4
5
6
7
| 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
1
2
3
4
5
6
7
8
9
10
| 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.