শুধুমাত্র গিট সংগ্রহস্থল ব্যবহারের জন্য সীমিত সুযোগ-সুবিধা সহ এসএসএইচ ব্যবহারকারী তৈরি করুন


12

আমার সানোএস সার্ভারে একটি গিট সংগ্রহস্থল রয়েছে যা আমি দূরবর্তীভাবে এসএসএসের মাধ্যমে ব্যবহার করি

git clone ssh://myUser@mydomain.com/path/to/git

সেই সংগ্রহস্থলটি অ্যাক্সেস করতে আমাকে আরও ব্যবহারকারী যুক্ত করতে হবে, তবে কীভাবে তা নিশ্চিত হন না।

আমি এসএসএস-এ একটি পরীক্ষামূলক ব্যবহারকারীর সংযোজন করেছি , তবে আমি কেবল গিট ব্যবহারের ক্ষেত্রে সেই ব্যবহারকারীর সুবিধাগুলি সীমাবদ্ধ করে দেখছি না।

পরীক্ষা ব্যবহারকারী পুরো সার্ভারটি ব্রাউজ করে ব্রাউজ করতে সক্ষম।

আমি কীভাবে এমন ব্যবহারকারীদের তৈরি করতে পারি যা কেবল ক্লিট / টান / ধাক্কা ইত্যাদি ক্লোন করতে দূরবর্তী অবস্থান থেকে গিট অ্যাক্সেস করতে পারে ...

ধন্যবাদ

উত্তর:


12

আপনি একাধিক গিট শেল ব্যবহারকারী (এবং প্রয়োজনীয় গোষ্ঠী এবং গোষ্ঠী অনুমতি যাতে তারা সংগ্রহস্থলগুলিতে অ্যাক্সেস ভাগ করতে পারে) সেটআপ না করে একক ব্যবহারকারীর অধীনে গিটোলাইট ব্যবহার বিবেচনা করতে পারেন।

গিটোলাইট সার্ভারে একক, সাধারণ ব্যবহারকারীর অধীনে চলে এবং গিট সংগ্রহস্থলগুলিতে অ্যাক্সেসের পার্থক্য করতে এসএসএইচ পাবলিক কী ব্যবহার করে ( জিটোলাইট কীভাবে এসএসএইচ-ভিত্তিক সনাক্তকরণ করে তার বিশদগুলির জন্য " কীভাবে গিটোলাইট এসএসএস ব্যবহার করে " দেখুন )। গিটোলাইট প্রতি-সংগ্রহস্থল, প্রতি-শাখায় এবং কিছু প্রতি-পাথ অ্যাক্সেস নিয়ন্ত্রণ সরবরাহ করে।


1
গিটোসিসের জন্য +1 ... এটি ঠিক এই সেটআপের জন্য তৈরি হয়েছিল।
জেরেমি বাউস

12

আপনার কাছে মূলত দুটি বিকল্প রয়েছে।

  1. টপডগ যেমন উল্লেখ করেছেন, আপনি সার্ভারে ব্যবহারকারী তৈরি করার সময়, তাদের শেলটি গিট-শেলটিতে সেট করুন ( বইয়ের এন্ট্রি এখানে )। এটি ব্যবহারকারীকে এসএসএইচ দিয়ে লগ ইন করতে অনুমতি দেবে, তবে এটি একটি সাধারণ, সম্পূর্ণ বৈশিষ্ট্যযুক্ত শেল (যেমন শ, বাশ, ইত্যাদি) চালানোর পরিবর্তে এটি চলবে, গিট শেল, যা কেবল গিট কার্যকারিতা অ্যাক্সেস সরবরাহ করে।

  2. বিকল্পভাবে, আপনি নিজের সংগ্রহস্থলগুলিকে অন্য প্রোটোকলের মাধ্যমে উপলভ্য করতে পারেন, যেমন টিসিপি ( গিট-ডিমন ব্যবহার করে ) বা এইচটিটিপি / এইচটিটিপিএস। আমি কেবল পঠনযোগ্য অ্যাক্সেসের জন্য এই জাতীয় দৃশ্যের প্রস্তাব দিই।

আপনি আপনার ব্যবহারকারীদের জন্য 'পুশ' কার্যকারিতা সমর্থন করার ইচ্ছার কথা উল্লেখ করেছেন, সুতরাং আপনার সত্যিকারের বিকল্প # 1 দিয়ে যাওয়া উচিত।


5

আপনাকে তাদের শেলটি গিট-শেলতে পরিবর্তন করতে হবে, এটি কেবল তাদের গিট ফাংশনে অ্যাক্সেস দেবে।


ধন্যবাদ টপডগ মূলত ব্যবহারকারী তার ম্যাকটিতে নিজের গিট শেল ব্যবহার করবেন। আমি সত্যিই চাই না যে সে সার্ভারে এসএসএস করতে সক্ষম হবে। সুতরাং যদি গিট রেপো পরীক্ষার ব্যবহারকারী / ম্যাক থেকে মাইডোমেন.কম এ থাকে, টার্মিনালে তিনি কেবল ক্লোন এসএসএস করতে পারবেন: //myUser@mydomain.com/path/to/git তার পাসওয়ার্ডের জন্য অনুরোধ জানানো হবে, তারপরে রেপোটি ডাউনলোড করুন। আমি এখন তার শেলটি গিট-শেলটিতে সেট করার চেষ্টা করেছি। ক্লোন কল করার সময় এটি অনুরোধ জানানো হয় তবে পাসওয়ার্ড প্রত্যাখ্যান করা হচ্ছে।
বাচ

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

বই রেফারেন্সের জন্য ধন্যবাদ! খুব উপকারী. গিটোলাইট ব্যবহার করে শেষ হয়েছে, যদিও এখনও সেটআপে সমস্যা রয়েছে।
বাচ

গিট শেল : "এটি এসএসএইচ অ্যাকাউন্টগুলির জন্য সীমিত গিট অ্যাক্সেস সরবরাহ করার জন্য একটি লগইন শেল It ব্যবহারকারীর হোম ডিরেক্টরি। " লিনাক্সে, "/ বিন / গিট শেল" "/ etc / শেলস" এ যুক্ত করুন এবং তারপরে "ব্যবহারকারীমোড - শেল / বিন / গিট শেল $ ব্যবহারকারী" দিন। বিটিডব্লিউ
ডেভিড টনহোফার

0

এটি করার আরেকটি উপায় হ'ল ssh এর মধ্যে ব্যবহারকারীদের সীমিত অ্যাক্সেস।

( http://prefetch.net/blog/index.php/2006/09/05/limiting-access-to-openssh-directives/ )

উদাহরণটি কেবলমাত্র একটি ব্যবহারকারীর ব্যবহারের দ্বারা করা হয়েছে, তবে ব্যবহারকারীরা একই গ্রুপে থাকলে আপনি গ্রুপ নির্দেশিকা ব্যবহার করে সেগুলি ফিল্টার করে ফেলতে পারেন। কিছুটা এইরকম

AllowTcpForwarding yes
X11Forwarding yes

Match Group Users
         AllowTcpForwarding no
         X11Forwarding no
         $Here is a directive for git$
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.