Saya ingin menggunakan rsync untuk secara teratur mencadangkan konten dari situs web produksi ke server cadangan. Konten yang ditransfer dari sistem jarak jauh memiliki beragam izin dan pemilik yang ditugaskan. Apakah saya perlu menggunakan root untuk melakukan ini? Apakah ada cara untuk menetapkan pengguna lain dengan hak istimewa tinggi untuk tugas ini?
Pembaruan: Kedua mesin menjalankan Ubuntu 12.04 Server.
Jawaban:
Opsi lain, jika Anda ingin menghindari mengizinkan masuk jarak jauh untuk seseorang dengan UID 0, mungkin seperti ini:
setfacl -R -m u:backup:rwx /PATH/TO/staging_dir
)rsync -aH REMOTE:/PATH/TO/staging_dir /LOCAL/backup_dir
)Kelemahan dari pendekatan ini adalah Anda harus mengoordinasikan pementasan pada host jarak jauh dan rsync pada komputer lokal Anda. Anda dapat meminta skrip cadangan jarak jauh membuat penanda di direktori home pengguna cadangan setelah pementasan selesai, dan meminta skrip rsync menghapus penanda setelah sinkronisasi selesai.
sumber
Anda dapat membuat pengguna dengan uid of
0
. Itu berarti hak istimewa yang setara dengan penggunaroot
, tetapi menggunakan nama yang berbeda. Walaupun ini hanyalah akun 'root' lainnya, ia menyediakan beberapa cara keamanan dengan ketidakjelasan (bukan keamanan nyata).Untuk melakukan ini, paksa
useradd
dengan opsi--non-unique
opsi, jika tidak mencegah Anda untuk membuat pengguna berbagi uid.sumber
useradd
. Saya telah memperbarui jawaban saya sesuai dengan itu.