Coba dengan manual ini. Mungkin akan berhasil untuk Anda.
Bagaimana cara melakukannya
Instal vsftpd dan perpustakaan PAM
Edit /etc/vsftpd.conf
dan/etc/pam.d/vsftpd
Buat akun pengguna dengan direktori khusus (di / var / www / misalnya)
Atur direktori dengan yang benar chmod
danchown
Buat pengguna admin dengan akses penuh ke server
- Instal
vsftpd
(Deamon FTP Sangat Aman) dan libpam-pwdfile
untuk membuat pengguna virtual
Saya ingin membuat pengguna FTP tetapi saya tidak ingin menambahkan pengguna unix lokal (tidak ada akses shell, tidak ada direktori home dan sebagainya). PAM (Modul Otentikasi Pluggable) akan membantu Anda membuat pengguna virtual.
sudo apt-get install vsftpd libpam-pwdfile
- Edit
vsftpd.conf
Pertama, Anda perlu membuat cadangan file asli
sudo mv /etc/vsftpd.conf /etc/vsftpd.conf.bak
Kemudian buat yang baru
sudo vim /etc/vsftpd.conf
Salin dan rekatkan baris berikut. File HANYA harus berisi baris-baris ini:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/$USER
chroot_local_user=YES
hide_ids=YES
guest_username=vsftpd
- Daftarkan pengguna virtual
Untuk mendaftarkan pengguna yang Anda gunakan htpasswd
, jadi saya menganggap Anda telah apache2
bekerja di server Anda. Buat vsftpd
folder lalu masukkan file konfigurasi ke dalamnya.
sudo mkdir /etc/vsftpd
kemudian
sudo htpasswd -cd /etc/vsftpd/ftpd.passwd user1
-c berarti bahwa kita akan membuat file jika belum ada -d memaksa MD5, Anda membutuhkannya di ubuntu 12.04, cukup gunakan selalu
Perintah akan meminta kata sandi.
Jika Anda ingin menambahkan pengguna baru setelahnya:
sudo htpasswd -d /etc/vsftpd/ftpd.passwd user2
- Konfigurasikan PAM dalam
/etc/pam.d/vsftpd
Sekali lagi, Anda perlu mencadangkan file orignal
sudo mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
dan buat yang baru
sudo vim /etc/pam.d/vsftpd
Salin dan tempel 2 baris ini (ini harus menjadi satu-satunya konten). Saya bersikeras hanya 2 baris ini, saya membuang banyak waktu menjaga yang asli dan hanya menambahkan ini.
auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd
account required pam_permit.so
- Buat pengguna lokal tanpa akses shell
sudo useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
Anda dapat memeriksa apakah telah dibuat dengan perintah id: id vsftpd. Kami mendefinisikan pengguna dengan / bin / shell palsu karena parameter check_shell (bahkan jika Anda tidak menggunakannya). Ketika pengguna akhir terhubung ke server FTP, mereka akan digunakan untuk hak dan kepemilikan:
chmod
dan chown
.
- Mengulang kembali
vsftpd
Cara yang umum adalah menggunakan init.d seperti semua deamon
sudo /etc/init.d/vsftpd restart
sudo service vsftpd restart
- Buat direktori
Menurut konfigurasi, semua pengguna akan ditempatkan ke folder ini: / var / www / user1.
Anda perlu membuatnya dengan hak tertentu: folder root tidak dapat ditulis!
/ [root = /var/www/user1] => 555
www [ /var/www/user1/www ] => 755
docs [ /var/www/user1/docs ] => 755
Catatan: pengguna tidak dapat membuat file atau folder di direktori root.
Di vsftpd.conf
kita miliki chroot_local_user=YES
sehingga pengguna tidak dapat melihat apa pun di luar foldernya. Baginya, server terlihat seperti ini:
Jadi jalankan saja perintah-perintah ini:
mkdir /var/www/user1`
chmod -w /var/www/user1
mkdir www/user1/www
chmod -R 755 /var/www/user1/www
chown -R vsftpd:nogroup /var/www/user1
The /var/www/user1
folder TELAH ada atau koneksi akan gagal.
Saat ini Anda dapat mencoba terhubung dengan FTP Anda
- Buat pengguna Admin untuk mengakses seluruh server
Untuk membuat pengguna admin, kami harus mendaftarkan pengguna baru htpasswd
.
Sebelum kita melakukannya, saya akan menyarankan Anda untuk memeriksa /etc/ftpusers
file yang menentukan pengguna tertentu yang tidak diizinkan untuk terhubung dengan ftp. Saya pikir ini hanya untuk pengguna lokal dan bukan pengguna virtual tetapi kalau-kalau jangan memilih nama yang terkandung dalam file ini.
sudo htpasswd -d /etc/vsftpd/ftpd.passwd theadmin
Sekarang kita perlu menambahkan baris baru ke /etc/vsftpd.conf
chroot_list_enable=YES
Ini berarti bahwa pengguna Anda akan ditempatkan ke dalam folder mereka (sebagai penjara) KECUALI pengguna di / etc /
vsftpd.chroot_list
Mari kita buat file ini dan tambahkan pengguna kita, file tersebut adalah garis sederhana yang mengandung "theadmin". Tambahkan satu pengguna per baris. Itu berarti Anda TIDAK perlu membuat /var/www/theadmin
folder, pengguna akan masuk dan mulai masuk /home/vsftpd
.
Mulai ulang server dan selesai!