আমি কি rsync এর জন্য রুট অ্যাকাউন্ট সক্ষম করব?


10

আমি কীভাবে রুট অ্যাকাউন্ট সক্ষম করতে পারি? আমি জানি এটি সাধারণত প্রস্তাবিত হয় না তবে আমি আমার সার্ভারকে ব্যাকআপ করতে একটি ইন্টারঅ্যাক্টিভ স্ক্রিপ্ট সেটআপ করতে চাই সিএসসিএনসি ব্যবহার করে server আমি ব্যবহার করতে পারি --rsync-path="sudo rsync"তবে তারপরে আমার আমার সুডো পাসওয়ার্ডটি পরিষ্কার করে সংরক্ষণ করতে হবে যা রুট অ্যাকাউন্ট সক্ষম করার চেয়ে আরও খারাপ বলে মনে হচ্ছে।

উত্তর:


10
  1. mybackupক্লায়েন্ট এবং সার্ভারে নতুন, পৃথক ব্যবহারকারী অ্যাকাউন্ট তৈরি করুন
  2. sudo passwd -l mybackupসরাসরি লগইন প্রতিরোধ করতে এই অ্যাকাউন্টগুলির সাথে পাসওয়ার্ডগুলি লক করুন
  3. মঞ্জুরি দিন মাধ্যমে sudo, যারা নতুন অ্যাকাউন্ট একটি খুব নির্দিষ্ট চালানোর জন্য /usr/bin/rsync/ --some-long-command /from/here /to/thereরুট হিসাবে আদেশের সঙ্গে NOPASSWD:/etc/sudoersব্যবহারsudo visudo
  4. রিমোট হোস্ট ব্যবহার করে স্থানীয়দের জন্য নতুন পাসওয়ার্ডহীন এসএসএইচ কী তৈরি করুন sudo -u mybackup ssh-keygen
  5. যোগ sudo -u crontab -eএক বা অন্যান্য প্রান্তে দূরবর্তী চালানোর জন্য rsyncব্যবহার sshও পরিবহন হিসাবে কী

এইভাবে কেবলমাত্র কমান্ড যা রুট হিসাবে চালানো যেতে পারে সেটাই হ'ল যা আপনি স্পষ্টভাবে মঞ্জুরি দিয়েছেন এবং কেবলমাত্র এটিই সক্রিয় করতে পারে এমন এক দূরবর্তী ব্যবহারকারী ইনস্টল করা এসএসই কি-পিয়ারের অর্ধেক অংশের ধারক, কারণ এটিতে পাসওয়ার্ডও লক রয়েছে কেবল সুডো অ্যাক্সেস সহ কেউ বা আপনার সেট আপ করা ক্রোনট্যাব হতে পারে।


Sudoers এ আমি খুব নির্দিষ্ট কমান্ডের অনুমতি দেওয়ার কথা ভাবিনি (আমি 'আরএসসিএনসি'র অনুমতি দিয়েছি)। দুর্দান্ত পরামর্শ!
অলিভিয়ের লালনডে

2
"খুব নির্দিষ্ট ... কমান্ড" লক্ষ করার জন্য +1। অন্যথায়, কোনও ব্যবহারকারীকে চালনার অধিকার প্রদান sudo rsyncএবং ব্যবহারকারীকে আরএসসিএনকে দেওয়া বিকল্পগুলি বেছে নেওয়ার অনুমতি দেওয়ার অর্থ ব্যবহারকারী /etc/sudoersউদাহরণস্বরূপ ফাইলটি পড়তে / লিখতে আরএসসিএন ব্যবহার করতে পারেন এবং নিজেকে পুরো সুডো অ্যাক্সেস দিতে পারবেন।
সুজান ডুপোরন

7
  1. আপনি /etc/sudoersযে কোনও ব্যবহারকারী কমান্ডটি চালাচ্ছেন (বা সমস্ত ব্যবহারকারীদের) rootএটি পাসওয়ার্ড ছাড়াই চালানোর অনুমতি দেওয়ার জন্য সম্পাদনা করতে পারেন (সম্ভবত কিছুটা বিপজ্জনক আরএসসিএনসি)।

  2. আপনি কি পুরো কমান্ড / স্ক্রিপ্ট / যা কিছু চালাতে পারবেন না root? আমি ধরে নিলাম এটি ক্রোন দিয়ে চলতে চলেছে তাই কেবল একটি rootকাজ যুক্ত করুন:

    sudo crontab -e
    

    দ্রষ্টব্য: আপনি আপনার ক্রোন কমান্ডটি একটি ব্রেসে আবৃত করে মোটামুটি জটিল কাজ করতে পারেন bash -e "..."বা এটি একটি পৃথক স্ক্রিপ্টে করতে পারেন। ধরে নিই যে এটি নির্ধারিত নয়, যদি rootএটি চালিত হয় (এর মাধ্যমে cron), এটি চলবে rootযাতে এটি আপনার অনুমতিের সমস্যার সমাধান করবে ।


সমস্যাটি হ'ল আমি যদি আমার স্থানীয় মেশিনে স্ক্রিপ্টটি সেটআপ করি এবং এটি রুট হিসাবে চালিত করি তবে এটির সার্ভারে অনুমতি সংক্রান্ত সমস্যা হবে। যদি আমি আমার সার্ভারে স্ক্রিপ্টটি সেটআপ করি এবং এটি রুট হিসাবে চালিত করি তবে এর চেয়ে স্থানীয় মেশিনই অনুমতি সমস্যা নিয়ে আসবে। অন্য কথায়, স্থানীয় এবং সার্ভার মেশিনে আমার রুট সুবিধাগুলি থাকা দরকার।
অলিভিয়ের লালনডে

আপনি প্রতিটি প্রান্তে একটি স্ক্রিপ্ট লিখতে এবং এটি sudoসাধারণ ব্যবহারকারীদের দ্বারা চালিত করার অনুমতি দিতে পারেন । এটি কেবল অনুমতি দেওয়ার চেয়ে নিরাপদ হবে rsync
অলি

সুডো একটি দুর্দান্ত ধারণা। আপনি নির্দিষ্ট করে নির্দিষ্ট করে বলতে পারেন, কোন ব্যবহারকারী কোন আদেশটি চালাতে পারে। এটা কর.
ফ্রাঙ্ক

6

আপনি রুট ব্যবহারকারীকে একটি পাসওয়ার্ড দিতে (তবে হওয়া উচিত নয়)

sudo passwd root

সম্পাদনা করুন: সেটুইড বিট স্ক্রিপ্টগুলির জন্য কাজ করে না। অন্যথায়, আপনি ব্যাকআপ প্রোগ্রামে সেটুইড বিটটি ব্যবহার করতে পারেন।

sudo chown root backup
sudo chmod u+s backup

হয়ত, আপনি এমনকি ক্রোন জব হিসাবে ব্যাকআপ চালাতে চান?


1
আপনি উবুন্টু রান থেকে "মূল" উল্লেখ root এর ENV তার ব্যবহারকারী প্রয়োজন হবে না হয় রুট। ( sudo whoamiরিটার্ন, রুট) সুতরাং ঠিক sudo passwdপ্রয়োজন।
মার্কো সেপ্পি

setuid স্ক্রিপ্টগুলির জন্য কাজ করে না
enzotib

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