گیک فارسی

نوشته های یک گیک فارسی از فعالیت ها ،‌ علاقه مندی ها و نقد هایش

چطور دسترسی به سرور Git اختصاصی را برای کاربران دیگر برقرار کنیم؟

بدون دیدگاه

در مطلب مربوط به راه اندازی سرور Git شخصی توضیح دادم که چطور فارغ از سرویس هایی مثل گیت هاب یا گیت لب یک سرویس دهنده اختصاصی گیت داشته باشیم و بدون محدودیت و با خیال راحت برای پروژهامون ازش استفاده کنیم ولی یک چالشی که در بین وجود داره امکان دادن دسترسی به دیگر کاربران تیم جهت استفاده از سرور گیت هست.

برای اینکه هر کاربری بتونه از مخازن ایجاد شده در اکانت git مربوطه استفاده کنه باید Public SSH Key خودش را در اختیار ما بگذاره تا با گذاشتنش در فایل ssh/authorized_keys. مجوز ارتباط با سرور برایش فراهم شود. نکته مهمی که در این رابطه وجود داره این مسأله هست که با این کار امکان ارتباط با SSH و Interactive Shell برای کاربر فراهم خواهد شد و ما در گزند سوء‌ استفاده‌های احتمالی قرار خواهیم گرفت.

برای حل این مشکل بایستی Shell مرتبط با کاربر git را به git-shell تغییر دهیم. با زدن دستور which git-shell وجود و مسیر Shell مورد نظر را بررسی میکنم و سپس مسیر مربوطه را در انتهای فایل etc/shells/ وارد و ذخیره میکنیم. حالا با دستور زیر Shell را تغییر می‌دهیم:

sudo chsh git -s [git-shell-path]

اکنون پوشه git-shell-commands را در پوشه خانه کاربر git ایجاد میکنیم و سپس فایل no-interactive-login را با محتوای اسکریپت زیر در پوشه مذکور ایجاد و به آن دسترسی اجرایی می‌دهیم:

#!/bin/sh
printf '%s\n' "Hi $USER! You've successfully authenticated, but I do not"
printf '%s\n' "provide interactive shell access."
exit 128

حالا با خیال راحت دسترسی دیگر اعضای تیم را به مخازن مورد نیازشان فراهم میکنیم.



برچسب‌ها:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *