Chroot'd rsync সেটআপ করার চেষ্টা করা হচ্ছে


10

আমি একটি ব্যাকআপ সার্ভার সেট আপ করার চেষ্টা করছি। আমি চাই chroot তার হোম ডিরেক্টরিতে প্রত্যেক ব্যবহারকারীর (ক্লায়েন্ট), এবং শুধুমাত্র এটি ব্যবহার করার অনুমতি দেয় SFTP এবং rsync

আমি দ্রুত আবিষ্কার করেছি যে আমিই একমাত্র এই জাতীয় কিছু করার চেষ্টা করিনি এবং আমি এই গাইডটি পেয়েছি এবং এটি অনুসরণ করেছি। সুতরাং এখন আমি কেবল এসএফপি দিয়ে ক্রুট'ড ব্যবহারকারীদের পেয়েছি।

তারপরে আমি জানতে পেরেছিলাম যে অন্য মেশিনে নিজেই ছড়িয়ে দিতে আরএসইএনসি-র জন্য এসএসএস দরকার, এবং এই এসএফটিপি যথেষ্ট নয়। প্রতিটি ব্যবহারকারীর জন্য ssh লগইন দেওয়া এমন একটি বিষয় যা আমি প্রথম স্থানে এড়াতে চেয়েছিলাম।

কেউ কি কোনও সম্ভাব্য সমাধানের কথা ভাবতে পারেন?

ধন্যবাদ,

ছাপ


এই উত্তরটি একবার দেখুন আমি কিছু সময় যান সার্ভারফল্ট
প্রশ্ন /

উত্তর:


11

একটি এসএফটিপি সমাধান হবে এছাড়াও , তাই আপনি সত্যিই এখানে কিছু হারাই নি সবার জন্য একটি SSH লগইন করা প্রয়োজন। SSH অ্যাক্সেসের অনুমোদন দিলে তা অগত্যা পূর্ণ শেল ব্যবহারের পরোক্ষভাবে না, উদাহরণস্বরূপ, এই শো SSH কীভাবে ব্যবহার করবেন তা authorized_keysফাইল যখন উপলব্ধ কমান্ড সীমিত rsync মাধ্যমে ব্যাকআপ করার অনুমতি শুধু rsync রিসিভার।

প্রকৃতপক্ষে, আপনি যদি পাসওয়ার্ড প্রমাণীকরণের পরিবর্তে কী ভিত্তিক প্রমাণীকরণের বিকল্প বেছে নেন (যা আপনার হওয়া উচিত) তবে আপনি একাধিক অ্যাকাউন্টের পরিবর্তে এক ব্যবহারকারী অ্যাকাউন্টের অধীনে সমস্ত কিছু চালাতে পারেন। আপনি দূরবর্তী ব্যবহারকারীদের সনাক্ত করতে কীগুলি ব্যবহার করবেন এবং একটি নির্দিষ্ট ডিরেক্টরিতে rsync রিসিভারটি পরিচালনা করবেন।

আপনার authorized_keysফাইলে এরকম কিছু :

command="/usr/bin/rsync --server -a . /tmp/user1" ssh-rsa ... user1
command="/usr/bin/rsync --server -a . /tmp/user2" ssh-rsa ... user2

কেউ user1প্রাইভেট কী ব্যবহার করে ব্যাকআপ /tmp/user1নেবে এবং user2প্রাইভেট কী ব্যবহার করে কেউ ব্যাকআপ করবে /tmp/user2। এবং আরও ...


লিঙ্কটি চলে গেছে
404.

আমি লিঙ্কটি আপডেট করেছি।
লারস্কে

6

rsyncক্লায়েন্ট থেকে রিমোট সার্ভারে নিয়মিত সম্পাদন করুন, তবে অতিরিক্ত ভার্বোস সুইচ যুক্ত করুন: SSH -vতারপরে গ্রেপ করুন Sending command। আপনি দেখতে পাবেন সঠিক কমান্ড ক্লায়েন্ট দূরবর্তী সার্ভারে প্রেরণ করছে:

rsync -avz -e'ssh -v -i /ssh-keys/clientprivate.key' --bwlimit=8000 --delete root@server:/path/ /backup/myserver/ 2>&1 | grep "Sending command"

আমার ক্ষেত্রে, এটি ছিল

rsync --server -vvlogDtprze.iLsf --bwlimit=8000 --delete . /path

যেমন এই যোগ command="..."দূরবর্তী সার্ভারে /home/USER/.ssh/authorized_keysউল্লেখ @larsks হিসাবে ফাইল। প্রয়োজনে প্রশাসনিক সুরক্ষা সেটিংস যুক্ত করুন:

no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAAAB3NzaC1yc2..CPhIJ+LVULWz arnis@server

সব একসাথে:

command="rsync --server -vvlogDtprze.iLsf --bwlimit=8000 --delete . /backup/path",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAAAB3NzaC1yc2..CPhIJ+LVULWz arnis@server

(খুব ভাল টিউটোরিয়াল http://en.positon.org/post/Rsync-command-restriction-over-SSH থেকে নেওয়া )


ভাল 1 ম উত্তর।
slm

2

আপনি আরএসসিএনসি সার্ভারের সাথে সরাসরি সংযোগ স্থাপন না করা অবধি আরএসসিএনসি ব্যবহার করতে সক্ষম হতে আপনাকে শেল অ্যাক্সেসের কিছু ফর্ম সরবরাহ করতে হবে - ডিফল্ট পোর্টটি 873 (টিসিপি) হয়।

থেকে rysnc man পৃষ্ঠা :

একটি রিমোট সিস্টেমের সাথে আরএসসিএনসি'র জন্য দুটি পৃথক উপায় রয়েছে: ট্রান্সপোর্ট হিসাবে রিমোট-শেল প্রোগ্রাম ব্যবহার করা (যেমন এসএসএস বা আরশ) অথবা সরাসরি টিসিপির মাধ্যমে আরএসসিএন ডেমনের সাথে যোগাযোগ করা। হোস্ট স্পেসিফিকেশনের পরে যখন উত্স বা গন্তব্য পথে কোনও একক কোলন (:) বিভাজক থাকে তখনই রিমোট-শেল পরিবহন ব্যবহৃত হয়। যখন কোনও সোর্স বা গন্তব্য পথটিতে একটি হোস্ট স্পেসিফিকেশনের পরে দ্বৈত কোলন (: :) বিভাজক থাকে অথবা যখন আরএসসিএনসি: // ইউআরএল নির্দিষ্ট করা থাকে তখন কোনও আরএসইএনসি ডেমনের সাথে যোগাযোগ করা সরাসরি হয় (রিমোট শেলের মাধ্যমে লিকাসিং আরএসআইএনসি-ডেমন বৈশিষ্ট্যগুলিও দেখুন এই পরবর্তী নিয়মের ব্যতিক্রমের জন্য সংযোগ বিভাগের বিভাগ)।

সীমিত শেল অ্যাক্সেস সরবরাহ করতে, নিম্নলিখিত গাইডটি বিবেচনা করুন । (দ্রষ্টব্য: মূল লিঙ্কটি মারা গেছে) সারাংশ:

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

যখন rsync সার্ভারটি ক্রুট প্রয়োগ করে, এতে প্রায়শই প্রয়োজনীয় এসএসএইচ সুরক্ষা নেই। তদুপরি, একটি অতিরিক্ত আরএসসিএনসি সার্ভার পোর্ট খোলার ফলে একটি সুরক্ষা ঝুঁকি থাকে এবং কখনও কখনও প্রযুক্তিগত বা রাজনৈতিকভাবে সম্ভব হয় না। এসফটিপি এবং স্কিপ-তে RSSync সরবরাহ করে নমনীয়তা এবং দক্ষতার অভাব রয়েছে, বিশেষত যখন কোনও ডিরেক্টরি ট্রি যুক্ত থাকে যেমন একটি ওয়েবসাইট such

বা আরএসএস ব্যবহার করে দেখুন ( এখানে আরএসএস স্থাপনের জন্য গাইড রয়েছে ):

ওপেনএসএসএইচ-এর সাথে ব্যবহারের জন্য আরএসএস একটি সীমাবদ্ধ শেল, কেবলমাত্র স্ক্যাপ এবং / অথবা এসএফটিপি অনুমতি দেয়। এটি এখন rdist, rsync, এবং cvs জন্য সমর্থন অন্তর্ভুক্ত। উদাহরণস্বরূপ, আপনার যদি এমন একটি সার্ভার থাকে যা আপনি কেবল শেল অ্যাক্সেস সরবরাহ না করেই ব্যবহারকারীদের scp এর মাধ্যমে ফাইলগুলি অনুলিপি করার অনুমতি দিতে চান, আপনি এটি করতে আরএসএস ব্যবহার করতে পারেন।


1
বর্তমান খবরটি হ'ল আরএসএস রক্ষণাবেক্ষণ করা হচ্ছে না এবং এর কিছু অদ্ভুত সুরক্ষা গর্ত রয়েছে। এতে বিনিয়োগের আগে বর্তমান অবস্থাটি আবার দেখুন।
chutz

2
আপনি rrsyncঅফিসিয়াল আরএসএনসি প্যাকেজে অন্তর্ভুক্ত আরএসএসের পরিবর্তে পার্ল স্ক্রিপ্টটি ব্যবহার করতে পারেন । দেখুন derek.simkowiak.net/backing-up-multiple-servers-with-rsnapshot
unhammer

0

আপনি rsync মোড়ানো একটি শেল লিখতে পারেন।

সাধারণ ধারণাটি এখানে দেখুন: https://sixohthree.com/1458/locking-down-rsync-using-ssh

আপনার মোড়কের শেলটিতে আপনি যা চান তা করতে পারেন এবং সম্ভবত ব্যবহারকারীকে ক্রট করুন।

আমার ক্ষেত্রে আমার একই * নিক্স ব্যবহারকারী ব্যবহার করে ভার্চুয়াল অ্যাকাউন্টটি স্যুইচ করা দরকার। আমি এই ধরণের শেল প্লাস করে অনুমোদিত_কিজ ফাইলটিতে অনেকগুলি লাইন ব্যবহার করে পরিচালনা করি। আমি ব্যবহারকারীর ক্রোট করা হয়নি তবে আমি আরএসসিএনসি সার্ভার কমান্ডে একটি ব্যবহারকারী ফোল্ডার স্তর যুক্ত করেছি।

প্রক্রিয়াকরণ ব্যবহারকারীর দিকে ssh কী ব্যবহার করে ভিন্নভাবে দেখুন


0

শেল ছাড়াই রাইকিঙ্ক ক্ষমতা সহ এসএফটিপি

আপনি ক্রুট পরিবেশে এলএফটিপি + এসএফটিপি ব্যবহার করতে পারেন এবং ব্যবহারকারীর শেল সরবরাহ না করা বা মোড়কের সাহায্যে কোনও ভারী কাস্টমাইজেশন না করে আরএসসিএনসি ব্যবহারের মতো একই ফলাফল অর্জন করতে পারেন ।

এটি আরও সুরক্ষিত এবং যথেষ্ট দ্রুততর হতে পারে।


0

ক্রুটে রাইকিঙ্কটি জটিল :) :) ক্রুটেড ডিরেক্টরিতে (গন্তব্য-পাশে) কাজ করার জন্য আপনাকে / বিন / শ এবং / ইউএসআর / বিন / আরএসএনসি জন্য ন্যূনতম পরিবেশ স্থাপন করতে হবে।

এখানে পুরো নিবন্ধটি দেখুন, আরএসসিএনসি-এনভায়রনমেন্ট সেটআপটি শেষ
https://medium.com/@deltazero/linux-remote-backup-rsync-chroot-d797ba6babe5 এর মধ্যে

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