
Ilustrasi Rsync oleh Walker Cahall
Pengantar
Tutorial ini akan membawa Anda melalui pengaturan daemon rsync di server Linux Anda. Anda mungkin menginginkan daemon rsync jika Anda memiliki file yang Anda inginkan tersedia sehingga siapa pun (atau hanya Anda sendiri) dapat mengunduh file yang ada atau mengunggah file baru. Panduan ini akan meninjau menjalankan rsync sebagai daemonnya sendiri dan menjalankannya melalui xinetd.
Prasyarat
– Server Linux dengan rsync terinstal – jika Anda belum memiliki server, mengapa tidak menjalankan Server VPS yang kuat dan andal dalam waktu kurang dari 30 detik.
– (Opsional) Xinetd diinstal.
– Izin yang sesuai untuk membaca dan/atau menulis pada daemon rsync (tutorial ini akan menampilkan perintah yang dijalankan sebagai pengguna root).
Menyiapkan Daemon Rsync
Pertama, menggunakan editor teks pilihan Anda, Anda harus membuat file konfigurasi /etc/rsyncd.conf
, jika Anda belum memilikinya. Di bawah ini adalah contoh parameter konfigurasi dasar kami dan penjelasannya masing-masing.
pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsync.log port = 12000 [files] path = /home/public_rsync comment = RSYNC FILES read only = true timeout = 300
pid file
:File id proses yang digunakan daemon.
lock file
:File kunci daemon.
log file
:Lokasi file log.
port
:Jika Anda tidak ingin daemon rsync berjalan pada port defaultnya (873), Anda dapat menentukan port baru di sini. Pastikan port ini terbuka di firewall Anda. Rsync menggunakan protokol TCP untuk transfernya.
[files]
:Ini adalah nama modul. Nama yang digunakan di sini adalah apa yang akan Anda masukkan ke dalam perintah rsync pull sebagai bagian pertama dari sumber (/files/../..). Anda dapat memberi nama apa yang Anda inginkan dan dapat memiliki sebanyak yang Anda mau.
path
:Jalur file untuk file yang terkait dengan modul ini.
comment
:Komentar deskriptif untuk modul ini.
read only
:Ini memberi tahu daemon bahwa direktori untuk modul ini hanya-baca. Anda tidak dapat mengunggahnya. Untuk upload saja, gunakan upload only =true.
timeout
:Waktu, dalam detik, daemon rsync akan menunggu sebelum mengakhiri koneksi mati.
Ini hanya konfigurasi dasar. Untuk daftar opsi yang lebih detail, lihat halaman manual.
Menjalankan Rsync sebagai Daemon
Sekarang dengan konfigurasi dasar ini kita dapat memulai daemon dengan sendirinya dengan menjalankan perintah di bawah ini:
rsync --daemon
Anda dapat memverifikasi daemon berjalan dengan:
ps x | grep rsync
Jika Anda memiliki sesuatu yang aneh di output, seperti pernyataan yang menyatakan unconfined, Anda mungkin memiliki SELinux yang memblokir daemon. Anda perlu bekerja untuk menambahkan rsync agar diterima oleh SELinux agar Anda dapat menjalankan daemon.
.
Sekarang rsync daemon berjalan, siap untuk menerima koneksi. Jika Anda tidak yakin bagaimana melakukan koneksi dari klien rsync, tinjau panduan kami tentang menghubungkan dengan rsync.
Untuk menghentikan daemon, Anda dapat menjalankan kill
perintah.
kill `cat /var/run/rsyncd.pid`
.
Menjalankan Rsync Melalui Xinetd
Jika Anda sudah menggunakan xinetd untuk mengelola layanan, Anda juga dapat menambahkan kontrol daemon rsync. Meskipun xinetd memberikan kontrol pusat yang lebih besar atas proses yang berjalan, perhatikan bahwa itu tidak selalu berarti keamanan yang lebih besar.
Pertama, edit file xinet.d untuk rsync, jika sudah ada (jika belum, Anda dapat membuatnya dan menggunakan contoh konfigurasi di bawah). Ubah disabled
baris ke no
. Anda juga ingin menambahkan port
baris dengan port default (873) atau kustom Anda.
Catatan:Jika Anda menggunakan port kustom, Anda juga perlu mengedit port rsync di file layanan (
/etc/services
) ke port kustom Anda.
.
Menggunakan editor teks pilihan Anda, buat atau edit /etc/xinetd.d/rsync
seperti di bawah ini:
# default: off # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync { disable = no flags = IPv6 socket_type = stream port = 12000 wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
Sekarang Anda hanya perlu me-restart xinetd, dan daemon rsync akan berjalan.
/etc/init.d/xinetd restart
.
Menguji Direktori Rysnc
Untuk menguji koneksi Anda ke daemon rsync dan menemukan jalur mana yang tersedia untuk Anda, cukup sambungkan dari klien Anda ke host rsync menggunakan metode berikut. Metode ini hanya menjalankan sebagian dari perintah tarik tetapi akan mengungkapkan jalur untuk Anda.
rsync -rdt rsync://IPADDR:RsyncPort/

Temukan jalur file
Perintah ini akan menunjukkan direktori mana yang terbuka untuk Anda. Jika Anda tidak mengetahui nama filenya, Anda dapat mengulangi prosesnya (menambahkan ke jalur file) hingga Anda menemukan file yang dimaksud.
rsync -rdt rsync://IPADDR:RsyncPort/DirectoryName

Lebih banyak jalur file ditemukan
Dan setelah Anda menemukan file tersebut, Anda dapat menyelesaikan perintah dan menariknya masuk.
rsync -rdt rsync://IPADDR:RsyncPort/DirectoryName/File /DestinationDirectory/

Jalur lengkap ditemukan
Menambahkan Nama Pengguna dan Kata Sandi ke Rsync Daemon
Anda dapat membuat daemon rsync Anda lebih aman dengan menambahkan persyaratan nama pengguna dan kata sandi di file konfigurasinya. Buka /etc/rsyncd.conf
dengan editor teks pilihan Anda, dan masukkan parameter ini di bawah modul.
[files] path = /home/public_rsync comment = RSYNC FILES read only = true timeout = 300 auth users = rsync1,rsync2 secrets file = /etc/rsyncd.secrets
auth users
:Daftar pengguna, dipisahkan dengan koma. Mereka tidak perlu ada di sistem, tetapi mereka harus ada di file rahasia.
secrets file
:Jalur file ke file rahasia Anda yang berisi daftar nama pengguna dan sandi.
Kemudian, kembali menggunakan editor teks pilihan Anda, buka atau buat /etc/rsyncd.secrets
Anda mengajukan. Gunakan format berikut username:password
.
rsync1:9$AZv2%5D29S740k rsync2:Xyb#vbfUQR0og0$6 rsync3:VU&A1We5DEa8M6^8
Setelah Anda menyimpan file ini, amankan sehingga hanya pengguna root yang dapat membaca atau mengeditnya.
chmod 600 /etc/rsyncd.secrets
Perhatikan bahwa kami menambahkan pengguna rsync3 yang tidak kami tentukan dalam parameter pengguna auth di /etc/rsyncd.conf
. Anda akan melihat alasannya di bawah.
Sekarang, saat menghubungkan ke daemon rsync ini, Anda harus memastikan untuk menggunakan nama pengguna yang sesuai.

Pengguna rsync yang valid
Jika Anda mencoba terhubung dengan pengguna yang tidak diizinkan di pengguna auth, Anda akan mendapatkan kesalahan di bawah ini.

Pengguna rsync tidak valid
Ingatlah bahwa pengguna yang berwenang harus muncul di /etc/rsyncd.conf
dan /etc/rsyncd.secrets
files.
.
Dan itu saja untuk dasar-dasar daemon rsync. Anda sekarang seharusnya dapat membuat daemon rsync dasar dan memiliki direktori yang ditentukan untuk mengunggah, mengunduh, atau keduanya! Harap periksa kembali di sini untuk pembaruan lebih lanjut, dan untuk mempertimbangkan server hosting VPS Linux yang memimpin pasar dari Atlantic.Net.
Pelajari lebih lanjut tentang layanan hosting VPS dan server pribadi Virtual kami.