গন্তব্য মেশিনে sudo সহ rsync ব্যবহার করা


39

প্রত্যাশা অনুযায়ী আরএসআইএনসি ইউআইডি এবং জিআইডি সেট করে না এমন একটি সমস্যা হচ্ছে , আমার অন্ত্র অনুভূতি হ'ল গন্তব্য মেশিনের rsyncমতো চালানো উচিত root

আমি rootএসএসএইচ দিয়ে লগইন করতে পারি না , যেহেতু এটি সুরক্ষার প্রয়োজনে অক্ষম। গন্তব্য মেশিনে ব্যবহারকারী ব্যবহার করতে সক্ষম sudo

এটি ব্যবহার করা সম্ভব rsyncসঙ্গে sudo?

উত্তর:


68

গন্তব্য মেশিনে

  1. এর পথটি সন্ধান করুন rsync:which rsync
  2. /etc/sudoersফাইলটি সম্পাদনা করুন: sudo visudo(আরও দেখুন: আমি কি ভিজুডো ব্যবহার করব? )
  3. লাইনটি যুক্ত করুন <username> ALL=NOPASSWD:<path to rsync>, যেখানে ব্যবহারকারীর নাম হল ব্যবহারকারীর লগইন নাম যা rsync লগ ইন করতে ব্যবহার করবে। ব্যবহারকারীর অবশ্যই ব্যবহার করতে সক্ষম হবেনsudo

তারপরে, উত্স মেশিনে, নির্দিষ্ট করা sudo rsyncহবে যা ব্যবহৃত হবে:

rsync ... --rsync-path="sudo rsync" ...

NOPASSWDগন্তব্য মেশিনে এটি ব্যবহার না করে বার্তাটি তৈরি হবে

sudo: কোন tty উপস্থিত এবং কোন জিজ্ঞাসা প্রোগ্রাম নির্দিষ্ট করা হয়নি


এটিতে এমন কোনও পরিবর্তন যা নির্দিষ্ট গ্রুপের কোনও ব্যবহারকারীর এটি করার অনুমতি দেয়? <ব্যবহারকারীর> এর পরিবর্তে কোনও <গোষ্ঠীম> সংস্করণ আছে?
ব্রায়ান

3
ধন্যবাদ, আমি কেবল পিকি ব্যবহার করি তাই আমি ব্যবহার করেছি-e="ssh -i $PRIVATE_KEY_PATH" --rsync-path="sudo rsync"
এটি

1
অবশ্যই <ব্যবহারকারীর নাম> স্থানীয়ভাবে এবং দূরবর্তী, আরএসসিএনসি ব্যবহার করে রুট হিসাবে সমস্ত কিছু পড়তে / লিখতে পারে, তাই সুরক্ষার উদ্বেগের কারণে রুট হিসাবে লগ ইন করতে না পারার অংশটি হ'ল কানাডা মোট ... কারণ আপনি এখন তা করছেন essen ।
এইচএমএন

1
এই নির্দেশাবলী অনুসরণ করে তবুও "টিটি উপস্থিত নেই ..." ত্রুটি পাওয়া যাচ্ছে? আমি ছিলাম. আমার যুক্ত করা লাইনটি /etc/sudoersফাইলের শেষে (বা কোনও গ্রুপের নিয়মের পরে যা একই ব্যবহারকারীর উপর প্রভাব ফেলতে পারে) শেষে এসেছিল তা নিশ্চিত করে for
সিপিবিএল

1
আমি এই সমাধানটি ব্যবহার করছি তবে ব্যবহারকারীরা গন্তব্য সার্ভারে আরএসসিএন-তে যেতে পারেন এমন আর্কগুলিকে সীমাবদ্ধ করে সুরক্ষা উন্নত করতে চাই। সাধারণত আমি যে আরোগুলি ব্যবহার করতে পারি সেগুলি সীমাবদ্ধ <username> ALL=NOPASSWD:<path to rsync> <args>রাখব তবে আমি জানি না যে এই জাতীয় দূরবর্তী থেকে যখন ডাকা হয় তখন আরগগুলি কী হবে। কোন ধারনা?
পিট কর্নেল

3

রিমোট সুডো আপনাকে এক্স উইন্ডোজগুলির মাধ্যমে আপনার পাসওয়ার্ডের জন্য জিজ্ঞাসা করতে পারেন। এটি করার একটি উপায় এখানে রয়েছে:

  1. নিশ্চিত করুন যে ssh-askpassরিমোট হোস্টে ইনস্টল করা আছে (এবং আপনি অবশ্যই এক্স-উইন্ডোজ ব্যবহার করছেন)
  2. এটি এতে রয়েছে তা নিশ্চিত করুন /etc/sudo.conf:
# Path to askpass helper program
Path askpass /usr/bin/ssh-askpass
  1. Rsync এ এই বিকল্পগুলি যুক্ত করুন: -e "ssh -X" --rsync-path="sudo -A rsync"

    • ssh -X আপনার এক্স উইন্ডোজ তথ্য এবং পোর্ট আপনার দূরবর্তী সেশনে ফরোয়ার্ড করবে
    • sudo -A sudo আপনাকে আপনার পাসওয়ার্ড জিজ্ঞাসা করতে ssh-Askpass ব্যবহার করবে

উবুন্টু 18 এ কাজ করে; এম / সি
স্নিধি সোফপ্রো

0

আমার সমাধানটি হ'ল ব্যবহার করা --rsync-path="sudo rsync", যদি এটি পাসওয়ার্ডের জন্য জিজ্ঞাসা করে আপনি এই জাতীয়ভাবে ব্যবহার করতে পারেন:

rsync -avz --stats --rsync-path="echo <SUDOPASS> | sudo -Sv && sudo rsync"  user@192.168.1.2:/ .

তবে এটি কমান্ড লাইনে একটি পাসওয়ার্ড রাখতে নিরাপদ নয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.