• گاهی اوقات در شبکه های خانگی یا حتی در شبکه های سازمانی از دو سیستم عامل محبوب ویندوز و لینوکس (گنو لینوکس) استفاده میشود و نیاز به اشتراک گذاری منابع بین آنها داریم. این دو سیستم در دنیایی کاملا متفاوت از هم قرار دارند و هر کدام برای خود یک پروتکل مخصوص دارند. همین تفاوت هاست که اشتراک منابع بین این دو سیستم را به چالشی برای کاربران تبدیل کرده است. خب اگر برای شما هم این سوال پیش اومده که آیا راهی هست یا خیر، در این مقاله پاسخ این سوال رو بررسی می‌کنیم.

    ویندوز از پروتکل (Server Message Block) SMB و لینوکس از (Network File Sharing) NFS برای اشتراک گذاری منابع استفاده میکند.

    در این مقاله سعی داریم تا شما را با ابزارها و روش های اشتراک منابع بین این دو سیستم عامل آشنا کنیم و به نصب و راه اندازی یکی از پراستفاده ترین آنها بپردازیم.

    دانلود و راه اندازی سامبا (Samba)

    خب اینجا یک ویندوز 10 و یک کالی لینوکس در wmvare workstation بالا اوردیم تا کارمون رو شروع کنیم.

    قبل از نصب بهتر است تا با دستور sudo apt upadate ریپازیتوری ها را آپدیت کنیم.
    برای دانلود و نصب کردن samba در لینوکس از دستور sudo apt install samba استفاده میکنیم. بعد از مشاهده اطلاعاتی مثال پیشنیاز ها و … با وارد کردن عبارت Y فرایند دانلود و نصب انجام میشود.

    دانلود و نصب samba

    بعد از فرایند نصب برای اینکه مطمئن شویم samba به درستی نصب شده از دستور sudo systemctl status smbd استفاده میکنیم.

    قبل از تغیر دادن فایل کانفیگ, یک دایرکتوری به نام shares با دستور

    mkdir /home/kali/shares

    برای اشتراک گذاری میسازیم.

    کانفیگ کردن samba

    در سیستم عامل لینوکس معمولا فایل های کانفیگ در دایرکتوری etc/ قرار دارند. در نتیجه برای مشاهده ی فایل های کانفیگ samba به پوشه /etc/samba میرویم و با دستور ls محتویات این دایرکتوری را مشاهده میکنیم.

    زمانی که فایل smb.conf را بازکردید, به انتهای فایل بروید و عبارات زیر را به فایل اضافه کنید.

    بیایید هرکدام از عبارت ها را بررسی کنیم.

    [shared] : نام اشتراک است که شیرفولدر های ما با این نام نمایش داده میشود.

    Comment : برای نوشتن توضیحات است.

    Path : برای مشخص کردن دایرکتوری تا به اشتراک گذاشته بشه.

    Writable : اگر بخواهیم به کاربران اجازه نوشتن بدهیم مقدارش را yes تنظیم میکنیم.

    Guest ok : درصورتی که نخواهیم از احراز هویت استفاده کنم مقدارش را برابر با yes قرار می دهیم

    نکته: برای برای افزایش امنیت از عبارت valid users = username استفاده کنید تا فقط کاربران تایید شده وارد شوند.

    در انتهای کار تغییرات را ذخیره و با دستور sudo systemctl restart smbd سرویس smbd را ریستارت کنید.

    اتصال به  از ویندوز به لینوکس

    قبل از اتصال از طریق ویندوز میتوانیم با دستور <sudo smblient -L <hostname لیست دایرکتوری های به اشتراک گذاشته شده را ببینیم.

    آموزش اشتراک گذاری فایل بین لینوکس(linux) و ویندوز(windows)

    در تصویر بالا میتوان دید که shared دایرکتوری با موفقیت به اشتراک گذاشته شده.

    حالا نوبت به اتصال از ویندوز رسیده. برای اینکار باید ای پی ماشین لینوکسیمون رو داشته باشیم که از دستور ifconfig استفاده میکنیم. آموزش اشتراک گذاری فایل بین لینوکس(linux) و ویندوز(windows)
    همانطور که در تصویر بالا مشخصه لینوکس ما  آدرسش 192.168.213.137 هستش. همین ادرس ای پی رو در پنجره ران ویندوز وارد میکنیم  و ok را میزنیم.

    نکته : قبل از آدرس آی پی دو  بک اسلش (\\) را قرار دهید.

    آموزش اشتراک گذاری فایل بین لینوکس(linux) و ویندوز(windows)

    آموزش اشتراک گذاری فایل بین لینوکس(linux) و ویندوز(windows)

    و حالا به دایرکتوری شیر شده دسترسی داریم.

    اتصال از لینوکس به ویندوز

    برای اتصال به پوشه  به اشتراک گذاشته شده از ویندوز نیز مراحل زیر را انجام میدهم.

    برای اتصال به ویندوز نیز باید  آدرس آی پی آن را بدانیم. برای این کار در ویندوز در cmd از دستور ipconfig استفاده میکنیم.

    آموزش اشتراک گذاری فایل بین لینوکس(linux) و ویندوز(windows)

    همانطور که در تصویر مشاهده میکنید آی پی ویندوز ما 192.168.213.132 می باشد.

    در لینوکس خود برنامه فایل منیجر را باز میکنیم و در آن به دنبال گزینه ی  open location یا browse network میگردیم.

    آموزش اشتراک گذاری فایل بین لینوکس(linux) و ویندوز(windows)

    در تصویر بالا میتوان دید که در بخش browse network کامپیوتر ویندوزی ما به طور خودکار شناسایی شده است.

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

    آموزش اشتراک گذاری فایل بین لینوکس(linux) و ویندوز(windows)

    پس از وارد کردن نام کاربری و رمز عبور به محتویات آن دسترسی داریم.

    آموزش اشتراک گذاری فایل بین لینوکس(linux) و ویندوز(windows)

    مشکلات و اشتباهات

    اگر به مشکلی خوردید که پالیسی اجازه برقراری ارتباط را نمیداد (همانند شکل زیر) به این دلیل است که ویندوز جلوی دسترسی به شبکه های عمومی ناشناس رو میگیره.

    آموزش اشتراک گذاری فایل بین لینوکس(linux) و ویندوز(windows)

    برای رفع این مشکل با وارد کردن gpedit.msc در پنجره run به group policy editor رفته و در مسیر computer configuration >  administrative templates > network > lanman workstation با enable کردن enable insecure guest logons  مشکل حل میشود.

    درصورتی که موفق نبودید باید فایروال لینوکس را برای samba باز بگذارید.
    با استفاده از دستور sudo ufw allow sambaاین کار را انجام دهید.

    یکی دیگر از اشتباهات این است که دسترسی دایرکتوری شما به درستی تنظیم نشده باشد. برای حل این مشکل باید permission ها را با دستور chmod تغییر دهید.
    مثال <sudo chmod 77 <directory . با این کار شما به تمامی کاربران دسترسی کامل میدهید.

    سوالات متداول

    چرا نمیتوان مستقیم منابع لینوکس و ویندوز را اشتراک گذاری کرد؟

    به دلیل اینکه این دوسیستم عامل کاملا متفاوت اند و هرکدام روش مخصوص به خود را برای اشتراک گذار منابع دارد.

    از چه روش هایی امکان اشتراک منابع بین این دو سیستم عامل وجود دارد؟

    روش متفاوتی مثل کلود,ssh,samba,nfs و … وجود دارد که این امکان را به ما میدهد تا منابع را بین هرکدام اشتراک گذاری کنیم.

    Samba چیست و چطور استفاده کنیم ؟

    Samba پروتکلی است که برای اشتراک منابع یا دسترسی به انها استفاده میشود و به ما امکان ارتباط بین دو سیستم متفاوت مانند لیونکس و ویندوز را میدهد. برای راه اندازی ,ابتدا آن را روی لینوکس نصب و با تنظیم فایل کانفیگ در مسیر /etc/samba/smb.cong از آن استفاده میکنیم

    میانگین امتیازات ۵ از ۵
    از مجموع ۱ رای