Di dunia Ubuntu, sepertinya Anda selalu menjalankan server FTP atau tidak pernah melakukannya. Mungkin saya analis jaringan pertama yang diperlukan untuk menginstal Cisco, Checkpoint, atau gambar Nokia menggunakan Ubuntu ... Saya perlu server FTP selama 5 menit, tidak lebih dari itu.
Saya mencari server FTP sederhana yang diprakarsai oleh pengguna. Saya mengerti bahwa kemungkinan harus dijalankan dengan sudo. Tidak apa-apa - tetapi saya ingin memulai / menghentikannya seperti program normal.
Pada platform Windows, alat-alat seperti itu adalah selusin sepeser pun - Saya telah menggunakan 3CDaemon selama bertahun-tahun dan baru-baru ini menemukan CoreFTP. Keduanya luar biasa. Anda mengonfigurasi pengguna, mengarahkannya ke direktori, lalu menekan tombol "Start". Beberapa menit kemudian, Anda umumnya selesai dan Anda menekan tombol "Stop". Pekerjaan selesai.
Alat seperti itu sepertinya tidak ada di Ubuntu. Saya menemukan proyek Google Code yang membuat instance TFTP dengan cukup baik (dengan asumsi itu masih berjalan - saya belum menggunakannya dalam waktu sekitar satu tahun dan python telah pindah), tetapi bagaimana dengan FTP? Ada sesuatu di luar sana?
Jawaban:
Anda bisa membuat server FTP berjalan semudah satu dua tiga menggunakan pyftpdlib :
pip install --user pyftpdlib
python -m pyftpdlib
, tambahkan-w
jika Anda ingin akses tulis juga.Anda sekarang memiliki server ftp yang dapat Anda masuki untuk membagikan direktori home Anda secara anonim. Ini lebih dimaksudkan sebagai tes modul, tetapi melakukan apa yang tertulis di kaleng.
Perintah ini:
akan melayani, tanpa hak akses root, pada port 2121 dan memberikan akses tulis kepada pengguna anonim. Ini juga akan menggunakan direktori
FTP
di direktori kerja saat ini, bukan di rumah Anda. Ketikpython ftpserver.py --help
untuk mendapatkan informasi tentang semua opsi.anonymous@localhost:2121/
Harap dicatat bahwa perangkat lunak ini dirilis di bawah ketentuan Lisensi MIT , yang berarti pada dasarnya Anda dapat melakukan apa pun yang Anda suka dengannya. Baca teks lisensi, hanya beberapa baris, dan ketahui hak Anda.
Sekarang, skrip ini tidak mendukung nama pengguna dan kata sandi sebagai bagian dari fungsi yang berdiri sendiri (untuk alasan keamanan saya bayangkan).
Jadi saya telah menambahkan fitur itu:
Anda sekarang memiliki, di samping semua opsi yang saya sebutkan, parameter baris perintah
--username=USERNAME
dan--password=PASSWORD
:Sekali lagi, gunakan
--help
untuk melihat semuanya.Ini harus semudah yang didapat.
Saya juga menulis sedikit gui untuk itu:
Unduh di sini (diperbarui pada rev. 6)
Maaf, ini panjangnya 3999 baris, tapi itu akan melakukan semua yang asli lakukan. Dan saya ingin menyimpan semuanya dalam satu file. Ketika dimulai tanpa parameter apa pun (mis. Membuatnya dapat dieksekusi dan klik dua kali, atau buat peluncur untuk itu ), itu mulai sedikit gui bagi Anda untuk mengkonfigurasi server Anda. Anda masih dapat mengimpornya sebagai modul python atau menggunakan fu baris perintah di atas.
Masalah Dikenal:
Saya tidak terganggu dengan apa pun selain port 2121. Ini harus sederhana, membuat port dapat dikonfigurasi membutuhkan penanganan kesalahan kompleks yang saya tidak ingin pengguna repot dengan. 2121 harus selalu berfungsi dengan baik.
Ini tidak akan memperingatkan Anda, seperti baris perintah, tentang menggunakan konfigurasi tidak aman. Yaitu tidak menetapkan kata sandi atau sesuatu seperti itu.
EDIT: sejak API
pyftpdlib
danftpserver.py
diubah (dan tautan pastebin ubuntu hilang); sebagian besar posting di atas tidak berfungsi lagi. Untuk versi (2014)pyftpdlib
, gunakan skrip ini (ftpserver-cli.py
) untuk mencapai yang sama seperti di atas:telepon dengan:
sumber
Anda dapat menggunakan pure-ftpd
Anda dapat menggunakan scp jika Anda memiliki server ssh.
sumber
postinst
skrip dalam paket.)Bagi mereka yang menyalin file ke dan dari router Anda mungkin ingin mencoba alat ini: tftpgui
Ini bekerja untuk saya dan sangat mudah dikonfigurasi. Ini juga merupakan skrip Python tetapi tidak tftp bukan ftp. Yang harus Anda lakukan adalah menginstal python-tk dan mengunduh skripnya
Satu-satunya hal yang harus diperhatikan adalah bahwa Ubunutu default ke Phython2 sehingga cara terbaik untuk memulai skrip adalah:
Anda kemudian dapat mengkonfigurasinya di GUI. ketika Anda selesai Anda menekan keluar dan hanya itu.
Bo
sumber