IGOS Nusantara dan Server FTP dengan banyak akun

Dari IGNwiki
Langsung ke: navigasi, cari

Server FTP untuk akses banyak pengguna dapat dibuat lebih aman dengan membuatkan akun yang hanya dapat akses ke ftp saja.

Misal ada akun-01, akun-02, akun-03 sampai akun-10. Password memakai bentuk rhs01, rhs02, rhs03 sampai rhs10.

Pasang Modul untuk vsftpd

# 
yum install db4-utils db4

Pasang vsftpd

#
yum install vsftpd

Buat Berkas /etc/vsftpd/pengguna.txt

Misal ada:

  • Akun: akun-01, akun-02, akun-03 sampai akun-10.
  • Password memakai bentuk rhs01, rhs02, rhs03 sampai rhs10.
#
nano /etc/vsftpd/pengguna.txt

Isinya:

akun-01
rhs-01
akun-02
rhs-02
akun-03
rhs-03
akun-04
rhs-04
akun-05
rhs-05
akun-06
rhs-06
akun-07
rhs-07
akun-08
rhs-08
akun-09
rhs-09
akun-10
rhs-10

Buat Direktori Pengguna

# 
mkdir /home/vftp
mkdir -p /home/vftp/{akun-01,akun-02,akun-03,akun-04,akun-05}
mkdir -p /home/vftp/{akun-06,akun-07,akun-08,akun-09,akun-10}
chown -R ftp:ftp /home/vftp

Konversi ke db

#
cd /etc/vsftpd/
db_load -T -t hash -f pengguna.txt vsftpd-virtual-user.db
chmod 600 vsftpd-virtual-user.db
rm pengguna.txt

Konfigurasi /etc/vsftpd/vsftpd.conf

#
nano /etc/vsftpd/vsftpd.conf

Isinya:

anonymous_enable=NO
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
allow_writeable_chroot=YES
pam_service_name=vsftpd.virtual

# Activates virtual users
guest_enable=YES

user_sub_token=$USER
local_root=/home/vftp/$USER
chroot_local_user=YES
hide_ids=YES
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
log_ftp_protocol=YES

Konfigurasi /etc/pam.d/vsftpd.virtual

#
nano /etc/pam.d/vsftpd.virtual

Isinya:

#%PAM-1.0
auth       required     pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
account    required     pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
session    required     pam_loginuid.so


# 
mkdir /etc/vsftpd

create and store user names and passwords is to use the Apache generator htpasswd

# 
htpasswd -c /etc/vsftpd/.passwd

produce a MD5 based BSD password with algorithm 1:

# openssl passwd -1

Whatever solution the produced /etc/vsftpd/.passwd should look like this:

username1:hashed_password1
username2:hashed_password2
...

Next you need to create a PAM service using pam_pwdfile.so and the generated /etc/vsftpd/.passwd file.

# 
useradd -d /srv/ftp virtual

Make virtual the owner:

# 
chown virtual:virtual /srv/ftp

Taut