Saya ingin mengatur server FTP dasar pada instalasi Ubuntu Server saya. Saya telah bermain dengan VSFTPD, tetapi saya mengalami masalah dalam mendapatkan server untuk memungkinkan saya membuat direktori dan menyalin file. Saya telah mengatur sistem untuk mengizinkan pengguna lokal, tetapi tampaknya itu tidak berarti saya mendapatkan akses untuk membuat direktori. Ini mungkin sebuah contoh di mana saya harus lebih membumi dalam pengaturan server Ubuntu untuk mengkonfigurasi server FTP ini secara memadai. Tujuan akhirnya adalah untuk dapat memindahkan file dari folder dev lokal saya ke folder www saya untuk ditempatkan. Direktori harus dapat bergerak juga. Bantuan apa pun akan sangat dihargai.
33
Jawaban:
Saya akan merekomendasikan PureFTPD karena ini adalah yang paling sederhana dan termudah untuk digunakan menurut saya. Anda harus menginstalnya terlebih dahulu:
sudo apt-get install pure-ftpd
setelah diinstal, ia akan mulai dengan sendirinya. Secara default menggunakan Otentikasi PAM - artinya menggunakan akun yang sudah ada pada sistem untuk auth. Yang perlu Anda lakukan adalah membuat akun pengguna dengan direktori home menjadi jalur www Anda dan mengatur kata sandi untuk akun itu. Anda kemudian dapat terhubung dengan kombinasi pengguna / pass untuk mengunggah / mengunduh file.Sesuatu seperti ini:
sudo adduser ftpman --home /var/www/ --ingroup www-data
Yang akan membuat
ftpman
pengguna dan menempatkannya di grup data-www yang digunakan Apache dan akan memandu Anda melalui sisa skrip pengaturan. Setelah itu ditetapkan, pastikan untukchmod
folder WWW jika Anda mendapatkan kesalahan tentang itu sudah ada untuk kombinasi pengguna / grup yang Anda buat.Terakhir jika Anda ingin mengunci akses SSH untuk menjalankan akun itu:
sudo chsh -s /bin/false ftpman
yang akan mengubah bahwa shell pengguna menjadi false. (Ganti ftpman dengan pengguna ftp Anda)sumber
chsh
ini tampaknya mencegah pengguna masuk melalui FTP juga. Pengaturan kembali untuk/bin/bash
memungkinkannya berfungsi lagi.Menurut pendapat saya SFTP adalah cara yang lebih baik. Hei, ada kata "aman" di namanya, pasti lebih baik :)
SFTP menggunakan ssh untuk melakukan transfer file (berbeda dari FTPS, pada dasarnya adalah FTP + TLS). Apa artinya itu adalah bahwa jika Anda dapat ssh ke mesin target, Anda hampir selalu dapat SFTP untuk itu, karena menggunakan mekanisme auth yang sama, jadi tidak perlu menginstal dan mengkonfigurasi daemon server yang berbeda sama sekali (yaitu tidak ada pureftpd atau vsftpd). Selama izin Anda ditetapkan dengan benar
/var/www
- yang mungkin merupakan masalahsudo chmod g+w /var/www; sudo usermod -g $USER -G www-data $USER
- Anda harus dapat menggunakan SFTP segera.Sebagian besar perangkat lunak klien saat ini akan melakukan SFTP dengan sangat senang, dan Anda juga dapat menggunakan
scp
dari shell pada server dev untuk menyalin hal-hal di seluruh (scp -R
akan menyalin seluruh folder di seluruh, dan sangat berguna). Anda bahkan dapat melangkah lebih jauh dan mengotomatiskan login dengan kunci publik, artinya tidak perlu mengetik kata sandi lagi :)sumber
Saya akan sangat menyarankan menggunakan vsftpd. Ini adalah salah satu daemon FTP paling aman di Linux. Banyak yang lain memiliki kelemahan di masa lalu dan tampaknya FTP sulit untuk diimplementasikan dengan cara yang aman.
vsftpd dimulai tepat setelah Anda menginstalnya. Ubuntu memungkinkan pengguna lokal untuk masuk. Jadi mulailah klien FTP Anda dan masuk sebagai pengguna normal dengan kata sandi sistem Anda (Contoh saya menggunakan lftp):
Sekarang saya menggunakan beberapa jenis manajer file (Nautilus, Shell dll) untuk membuat direktori baru
foo
dan kembali ke klien FTP saya:Direktori ada di sana dan saya bisa
cd
ke dalamnya dan menggunakannya. Ini juga sama jika Anda memiliki pengguna khusus. Di sana Anda juga dapat membuat direktori dan langsung dapat diakses. Di sini penting untuk mencari hak akses.sumber
Dengan rendah hati saya merekomendasikan server FTP yang saya tulis sendiri dari awal: JetFTP . Hal ini sangat sederhana untuk menginstal dan menggunakan.
Instalasi:
Tambahkan PPA saya ke sumber perangkat lunak Anda dan perbarui:
Jalankan perintah berikut:
Menggunakan JetFTP sederhana - cukup sambungkan ke port
8021
menggunakan nama login dan kata sandi di komputer yang sedang menjalankan JetFTP.sumber
Jangan gunakan ftp , ini merupakan protokol yang pada dasarnya tidak aman karena mengirimkan nama pengguna dan kata sandi secara jelas ke server. Menerapkan sftp sama mudahnya dan Anda memperoleh keuntungan besar dalam keamanan koneksi Anda.
sumber
Ada tiga cara berbeda untuk mengatur server ftp:
(1) FTP Anonim:
Orang dapat mengakses server hanya dengan akun anonim dan tanpa kata sandi. Tentu saja, administrator server akan menetapkan batas unggahan untuk mencegah pengguna memasukkan file ilegal seperti musik / film / game bajakan.
(2) FTP dengan akses anonim dan pengguna dengan akun kata sandi:
Metode ini memungkinkan pengguna akun anonim dan kata sandi untuk memasuki server. Mereka hanya akan memiliki akses ke direktori yang ditentukan, kecuali untuk root pengguna yang dapat melihat / memodifikasi / menghapus semua file dan / atau folder.
(3) FTP dengan dukungan mysql untuk otentikasi pengguna virtual:
Metode ini memungkinkan akses ke server hanya untuk beberapa grup pengguna yang belum mendapatkan akun shell otentikasi pengguna virtual pada sistem. Ini menggunakan server mysql eksternal yang menyimpan informasi pengguna.
Opsi Pertama: FTP Anonim
Sebelum memulai pembuatan server ftp anonim, Anda harus menambahkan pengguna bernama ftp ke sistem Anda, dengan direktori home juga. Langkah ini sangat mudah, cukup ikuti perintah ini:
Melakukan ini hanya mengizinkan akun ini untuk menulis di folder ini. Anda dapat menggunakan lebih banyak variabel untuk menentukan apa yang akan dilakukan server ftp. Berikut ini beberapa contohnya:
Opsi Kedua: '' 'Pengguna akun anonim dan kata sandi' ''
Untuk memungkinkan pengguna akun anonim dan kata sandi di server yang sama, ikuti panduan kecil ini:
Opsi Ketiga: '' 'Pengguna Virtual dengan Mysql' ''
Untuk membuat server dengan dukungan mysql ikuti langkah-langkah ini:
Unduh dan instal Manajer Pengguna untuk PureFTPd yang dapat Anda temukan di sini http://machiel.generaal.net/index.php?subject=user_manager_pureftpd
Dekompres dan unggah semua isinya ke direktori www server web Anda dan kemudian tulis di browser Anda tautan tautan ini http: //localhost/ftp/install.php Ikuti semua langkah yang diminta pemasang untuk Anda Salin dan simpan rge pureftpd-mysql .conf ke dalam direktori manajer pengguna pureftpd
Selesai Akses ke panel administrasi menggunakan tautan ini http: // localhost / ftp
Lebih banyak opsi untuk ditambahkan sebelum memulai proses server
Dan lihat ini untuk beberapa aplikasi server ftp:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html
sumber
Instalasi default VSFTPD tidak mengizinkan perubahan buat / modifikasi apa pun secara default. Anda perlu mengedit
/etc/vsftpd.conf
dan menghapus komentar pada baris berikut ...write_enable=YES
Dan kedua Anda perlu mengkonfigurasi izin sistem file yang sesuai pada file dan folder masing-masing.
sumber