PDA

View Full Version : لینوکس(مزایا و معایب آن ) قسمت دوم



mehdi33
چهارشنبه 11 خرداد 1384, 12:20 عصر
:reading: لینوکس شامل چهار نوع مختلف نصب است که عبارتاند از:
:Workstationاگر در دنیای لینوکس تازه کار هستید و میخواهید آن را امتحان کنید، این نوع نصب برای شما بسیار مناسب خواهد بود .تنها با پاسخ دادن به تعداد کمی سوال در طول عملیات نصب، میتوانید لینوکس را در مدت زمان اندکی نصب و اجرا کنید .
:Serverاین نوع نصب برای کسانی مناسب است که قصد دارند سیستم خود را به عنوان یک سرور لینوکس مورد استفاده قرار داده و از طرفی نمیخواهند درگیر سختیهای پیکربندی سیستم شوند.
:Custom این نوع نصب، انعطافپذیری زیادی را جهت نصب به شما میدهد @بدین صورت که شما ترتیب رویه پارتیشنها و بسته ها و غیره را انتخاب خواهید کرد .نصب Custom بیشتر مناسب افرادی است که آشنایی بیشتری با لینوکس دارند.
:Upgrade اگر شما یک نسخه از لینوکس را روی سیستمتان دارید و میخواهید آن را بدون صرف وقت زیادی با آخرین بسته ها و نسخه کرنل به روز کنید، این نوع نصب برای شما مناسب است .


قبل از نصب Linux در کنار ویندوز لازم است تا درایو هارد دیسک را برای پذیرفتن ان به ترتیب زیر اماده سازید:
1. یک نسخه پشتیبان از کامپیوتر خود تهیه کنید.
2. نحوه قالب بندی هارد دیسک کامپیوتر ویندوز خود را مشخص کنید. در ویندوزدو نوع فرمت بندی برای درایو هارد دیسک به کار می رود: فرمت File Access Table (FAT) و NT File System (NTFS) .فرمت NTFS در مقایسه با فرمتFATجدیدتر و پیشرفته تر می باشد.
3. فضا های ذخیره سازی قطعه قطعه شده دیسک خود را پیوسته سازید.( Defragment)
4. برای باز کردن جا جهت Linux در روی هارد دیسک خود در کنار ویندوز ( یا هر سیستم عامل دیگر) هارد دیسک خود را دوباره پارتیشن بندی کنید.

انواع نصب لینوکس:
نصب لینوکس را میتوان به دو صورت گرافیکی یا متنی انجام داد.چنانچه در کار نصب، برنامه نصب، سخت افزارهای گرافیکی شما را به خوبی شناسایی کند، به طور خودکار نصب گرافیکی انجام خواهد شد.ونیز برای سهولت استفاده از ماوس از روش های گرافیکی استفاده می شود.
متن زیر مقایسه بین لینوکس ،ویندوز 2000 و سیستم عامل Open Source دیگری به نام FreeBSD است:
قابلیت اطمینانWindows 2000: تمام کاربران این نرم افزار با صفحه آبی رنگ مرگ! در هنگام قفل کردن سیستم آشنا می باشند. قابلیت اطمینان ضعیف یکی از عمده ترین معایب ویندوز است. برخی از این ایرادات در ویندوز 2000 رفع گردیده اند. اما افزایش حجم کدها مشکلات بیشتری از نظر قابلیت اطمینان را به وجود آورده است. ویندوز 2000 از منابع سیستمی زیادی استفاده می کند و با توجه به معیوب شدن تدریجی حافظه و خراب شدن فایل های سیستمی، استفاده از سیستم برای بیش از چند ماه کار بسیار مشکلی است.
Linux: قابلیت اطمینان Linux مشهور است، سرور ها غالبا برای سال ها فعال می مانند. اگرچه ورودی/خروجی دیسک در حالت پیش فرض ناهمگام می باشد که قابلیت اطمینان کمتری برای عملیات مبتنی بر تعاملات دارد و ممکن است فایل سیستم را بعد از بروز اشکال در سیستم و یا قطع برق معیوب کند. اما در کل برای استفاده کنندگان Linux یک سیستم عامل قابل اطمینان محسوب می شود.
FreeBSD: FreeBSD بسیار قدرتمند است(سرور های فعال با دوره های عمر چند ساله دلیل این ادعا است). سیستم فایلی جدید Soft Updates ورودی و خروجی های دیسک را برای بهترین عملکرد بهینه می کند و در عین حال قابلیت اطمینان را برای کاربردهایی از قبیل پایگاه های داده که بر اساس تعاملات (Transactions) می باشند تضمین می کند.
کاراییWindows 2000: ویندوز برای نرم افزارهای متداول و Desktop ها مناسب است اما قابلیت تحمل بارهای سنگین شبکه را ندارد. تعداد محدودی از سازمان ها تلاش می کنند تا از آن به عنوان یک سرور اینترنت استفاده کنند. به عنوان مثال Barnesandnobel.Com که از ویندوز NT استفاده می کند را می توان با پیغامهای خطایی که سرور آنها معمولا تولید می کند شناخت. حتی سایت Hotmail که متعلق به خود Microsoft (تولید کننده ویندوز) می باشد مدتها از FreeBSD به عنوان سیستم عامل خود استفاده نمود.
Linux: Linux برای بسیاری از کابران به خوبی کار می کند اما با این وجود قابلیت اجرایی تحت بار سنگین شبکه بهینه نیست. قابلیت اجرایی شبکه تحت هسته لینوکس 2.3 پایین تر از ظرفیت FreeBSD با سخت افزار مشابه می باشد. با عرضه شدن هسته لینوکس 2.4 که یک حافظه مجازی جدید مشابه FreeBSD می باشد، وضعیت بهبود یافته است. از آنجاییکه هر دوی این سیستم ها Open Source می باشند، صرفه اقتصادی بالایی دارند به همین دلیل کارکرد Linux وFreeBSD به سرعت در حال همگرایی می باشد.
FreeBSD : FreeBSD انتخاب برتر سیستم برای قابلیت اجرایی بالای کاربردهای شبکه می باشد.FreeBSD از سایر سیستم هایی که روی سخت افزار یکسانی کار می کنند، بهتر و بیشتر کارایی دارد. یکی از بزرگترین و شلوغ ترین سرورهای اینترنتی به آدرس ftp://ftp.cdrom.com از FreeBSD برای خدمات رسانی به بیش از 1.2 تریلیون بایت Download در روز استفاده می کند. بسیاری از سرورها از FreeBSD به دلیل توانایی آن در پشتیبانی از ترافیک سنگین شبکه با قابلیت اطمینان و اجرای بالا به عنوان OS اصلی خود استفاده می کنند.
امنیت:
Windows 2000 : Microsoft ادعا می کند که محصولاتش ایمن است اما هیچ تضمینی در این مورد ارائه نمی کند. نرم افزار های آنها قابل بازنگری و بررسی توسط بقیه نمی باشد و از آنجاییکه ویندوز Close source می باشد هیچ راهی برای کاربران به منظور تشخیص و تغییر هیچ یک از مخاطرات امنیتی که معمولا درباره سیستم های ویندوز منتشر می شوند وجود ندارد.
Linux: طبیعت Open source لینوکس به هرکس این اجازه رامی دهد که امنیت کد را مورد بررسی قرار داده و آن را تغییر دهد، اما واقعیت این است که پایگاه کد لینوکس توسط برنامه نویسانی بی تجربه و در مدت زمانی کم تعریف شده است. هیچ سیاست بازنگری رسمی برای کد وجود ندارد و به همین علت لینوکس هر سال در لیست پیشنهادات CERT برای Unix قرار دارد. این مسئله با این واقعیت همراه است که شرکت هایی چون Redhat به ارایه خدماتی که به ناامنی مشهور می باشند، گرایش دارند. با این وجود لینوکس نیز از سیستم دیوار آتش قدرتمند و ابزارهای تشخیص نفوذ فراوانی پشتیبانی می کند.
FreeBSD: FreeBSD برای چندین سال تحت تست مداوم بوده است. تمامی اجزای سیستم مورد چک و بازبینی مجدد قرار گرفته اند تا اشکالات مرتبط با امنیت کشف شوند. از آنجاییکه کل سیستم Open source می باشد، امنیت سیستم توسط دیگران قابل بررسی بوده است و این بررسی نیز به طور کامل انجام شده است. نصب اولیه FreeBSD هنوز از پیشنهاد امنیتی CERT در سال 2000 تبعیت می کند. FreeBSD همچنین سطوح امنیتی را در سطح هسته (Kernel) سیستم عامل پیاده سازی می کند که بسیار قدرتمند تر از پیاده سازی در سطح اجرا می باشد. FreeBSD شامل یک سیستم دیوار امنیتی (Firewall) بسیار قدرتمند و ابزارهای متعددی برای جستجوی نفوذها می باشد.
سیستم فایلی:Windows 2000: فایل سیستم FAT و NTFS متعلق به Microsoft هردو برای بیش از 15 سال به دلیل عدم سازگاری با سیستم های فایلی PC-Based قدیمی تر دچار مشکل بوده اند. این سیستم های فایلی برای باگ های زیاد و کاربردهای مخرب سرورهای امروزی طراحی نشده وحتی اعتقادی به طراحی شدن با سیستم عامل چند کاربره و یا شبکه ای نداشتند.
Linux: سیستم فایلیی که در لینوکس به کار می رود،کار خود را با یک روش الحاق سازی غیر همزمان خطرناک انجام می دهد که غالبا یک خرابی بزرگ در سیستم (crash)، سیستم را به طور دائمی تخریب می کند در حالی که در Solaris یا FreeBSD اشکال با میزان کمی از دست دادن اطلاعات تصحیح شده و سیستم قابل بازیابی می باشد.البته چندین نسخه جدید فایل سیستم برای لینوکس وجود دارد که قسمت های زیادی از این اشکالات را حل کرده اند.(مانند Ext3)
FreeBSD: FreeBSD از سیستم فایلی یونیکس (UFS) استفاده می کند که اندکی پیچیده تر از سیستم فایلی Ext2 لینوکس می باشد. این فایل سیستم (UFS) با گزینه Sofupdate، راهی بهتر برای اطمینان از بی نقص بودن و اطلاعات سیستم فایلی ارایه می دهد. این گزینه ورودی/خروجی همزمان را کاهش و ورودی/خروجی غیرهمزمان را افزایش می دهد. چرا که تغییرات برروی یک UFS بسته به ساختار سیستم فایلی و نه به صورت Sector basis (بخش گرا) هماهنگ می شود. این موضوع، هماهنگی همیشگی سیستم فایلی در فاصله دو به روز رسانی را تضمین می کند. سیستم فایلی FreeBSD همچنین نشانه های (Flags) فایلی که باعث محدودیت متجاوزان (شامل نفوذگرها یا کاربران ناخواسته یا ...) در تراکنشها می شود را پشتیبانی می کند. تعداد زیادی از این نشانه ها وجود دارند که می توان آنها را به یک فایل اضافه نمود.به عنوان مثال نشانه "غیر قابل تغییر" که هیچ گونه اجازه تغییر یا حذفی در فایل یا دایرکتوری را اجازه نمی دهد.نشانه های متداول دیگر عبارتند از "فقط افزودنی"، "غیر قابل حذف" و "آرشیو". با تلفیق این امکانات با سطوح امنیتی سطح هسته (Kernel) یک سیستم غیر قابل نفوذ به دست می آید.

گردانندگان دستگاه جانبی:
Microsoft : Windows 2000 ارتباط بسیار خوبی با تولید کنندگان درایور دارد.غالبا هنگام استفاده از یک درایور بین نسخه های مختلف ویندوز مشکلاتی پیش می آید اما به طور کلی کاربران Windows دسترسی بسیار عالی و سریع به درایور های دستگاه ها دارند.
Linux: جامعه لینوکس عمدا برای تشویق تولید کنندگان به تولید درایور های Open source انتشار درایور های باینری جدا را بر روی این سیستم عامل مشکل می کند.متاسفانه اکثر تهیه کنندگان علاقه ای به انتشار درایور خود به صورت Open source را ندارند و به همین خاطر برای کاربران لینوکس هرگونه استفاده از درایورهای عرضه شده توسط تهیه کننده بسیار مشکل است.
FreeBSD: راه انداز(Bootloader) FreeBSD ، می تواند داریورهای باینری را در زمان راه اندازی بالا بیاورد. این به دیگر تولیدکنندگان درایور اجازه توزیع ماژولهای درایور باینری جدا که قابلیت بارگذاری روی سیستم شامل FreeBSD را دارند، را می دهد. براساس طبیعت متن باز FreeBSD ، ارتقاء درایور دستگاه برای سخت افزار جدید بسیار آسان است. اکثر تولید کنندگان فقط فایل های باینری سازگار با سیستم عامل ویندوز را منتشر می کنند. این بدان معنی است که از زمانیکه دستگاه به بازار می رسد تا زمانی که درایور آن رویFreeBSD در دسترس خواهد بود، ممکن است چند ماه طول بکشد.
نرم افزار های تجاری:
Windows 2000: برای ویندوز نسبت به دیگر سیستم عاملها برنامه های کاربردی بسیار بیشتری در دسترس است. تقریبا تمامی برنامه های کامپیوترهای Desktop روی ویندوز و فقط روی ویندوز اجرا می شوند. اگر شما یک برنامه مهم دارید که تنها روی ویندوز اجرا می شود، هیچ راهی جز استفاده از ویندوز ندارید.
Linux: نرم افزارهای تجاری زیادی روی لینوکس موجود است که در حال زیادتر شدن نیز هست. متاسفانه لینوکس تنها فایلهای باینریی را می تواند اجرا کند که مخصوص خودش ساخته شده باشند و توانایی اجرای برنامه های دیگر سیستم عاملها را ندارد.
FreeBSD: تعداد نرم افزارهای تجاری روی FreeBSD به سرعت روبه گسترش است،اما هنوز بسیار پایین تر از آن چیزی است که در مورد ویندوز شاهد آن هستیم. علاوه بر نرم افزارهای موجود،FreeBSD قابلیت اجرای نرم افزارهای موجود روی لینوکس، SCOUnix و BSD/OS را نیز دارد.

نرم افزار های رایگان:
Windows 2000 : میزان نرم افزارهای رایگان ویندوز بسیار کمتر از آن چیزی است که برای Unix داریم. بسیاری از برنامه های کاربردی ویندوز به عنوان نرم افزار اشتراکی (shareware) بدون کد اصلی برنامه وجود دارند که به هیچ عنوان توسط کاربران قابل شخصی کردن(Customize) ، بهبود، توسعه و اصلاح نیستند.
Linux: تعداد بسیار زیادی از برنامه های رایگان برای لینوکس در دسترس می باشد. تمامی نرم افزارهای GNU روی FreeBSD و Linux قابل اجراست. برخی از برنامه های رایگان بسته به نوع آنها تغییراتی نسبت به نمونه های مشابه دارند چون لینوکس استاندارد مشخص پخش نرم افزاری ندارد.
FreeBSD: نرم افزارهای رایگان بسیار بسیار زیادی برای FreeBSD در دسترس می باشد. FreeBSD شامل هزاران بسته نرم افزاری و مجموعه پخش شده وسیعی می باشد که تمامی آنها همراه با کد اصلی برنامه (Source code) به طور کامل می باشند. بسیاری از مردم FreeBSD را در دسترس ترین و آسانترین کتابخانه قابل استفاده برای بسته های نرم افزاری رایگان می دانند.

محیط تولید برنامه:
Windows 2000: Windows ابزارهای توسعه کمی داشته و بسیاری از مجموعه ابزار بسیار قدرتمند آن باید به صورت جداگانه خریداری شود و به ندرت قابل سازگاری با دیگر ابزارها می باشند. با این وجود اکثر تولیدکنندگان محیط های توسعه و تولید نرم افزار محصولات خود را برای ویندوز به طور جداگانه و کامل عرضه می کنند.
Linux: لینوکس تمامی ابزارهای تولید FreeBSD را به همراه تفسیرکنندگان ها زبان برنامه نویسی متداولی و تمامی برنامه های GNU از قبیل C/C++ قدرتمند GNU، ویرایشگر Emacs و دیباگر GDB در بر می گیرد. متاسفانه به علت طبیعت بسیار خرد شده (Splinted) لینوکس، برنامه هایی که روی یک سیستم (مثلا Redhat 7.2) می سازید امکان کارکردن روی سیستم دیگری از لینوکس (مثلا Slack ware) را ندارند.
FreeBSD: FreeBSD مجموعه بزرگی از ابزارهای تولید و توسعه برنامه را در بر دارد. سیستم توسعه کاملی از C/C++ (شامل ویرایشگر، و ابزارهای توسعه یونیکس برایJava، HTTP، Perl، Python، Tel/TK، Awk، Sed و ...)را به طور رایگان دریافت می کنید که براساس FreeBSD نصب می شوند و تمامی اینها شامل کدهای امنیتی می باشند.

زیر ساخت محیط تولید نرم افزار:
Windows 2000 : نرم افزار ویندوز یک سیستم عامل Close source است که پاسخی به نیاز بازار بوده تا راه حل یک مسئله تکنیکی. تکنولوژیهای جدید در مقیاس زیاد به درون این سیستم عامل ریخته می شوند بدون اینکه طراحی آنها مناسب یا حتی کامل شده باشند. درباره زیرساخت توسعه نرم افزار چیز زیادی در دست نیست جز همان صفحه آبی رنگ مرگ! که پیام خودش را می دهد.
Linux: لینوکس یک هسته (Kernel) شبیه یونیکس است که باید با GNU ترکیب شود تا یک سیستم عامل کامل را بسازد. لینوکس هیچ سیستم کنترل نسخه ای را مورد استفاده قرار نمی دهد و به همین خاطر تمامی تصحیح خطاها (Bug-Fixes) و توسعه ها باید از طریق پست الکترونیکی و تماس با لیست پستی و در پایان با ارسال به فردی که مجاز به ارائه کد به برنامه اصلی می باشد، انجام پذیرد. بر اساس میزان زیادی کدی که نوشته می شود، امکان کنترل کیفیت تغییرات مربوط برای یک نفر وجود ندارد. به همین دلیل کد بسیار زیادی برای لینوکس وجود دارد که با عجله نوشته شده و هیچ وقت برای یک سیستم عملیاتی امن تر قابل قبول نمی باشد.
FreeBSD: FreeBSD یک سیستم عامل پیشرفته بر اساس یونیکس می باشد. کد منبع کل سیستم در یک پایگاه داده که تحت CVS اجرا می شود در دسترس می باشد. دسترسی به این پایگاه توسط یک گروه بزرگ(200 نفر) از برنامه نویسان خبره و ارشد نوشته شد و برای هماهنگی عرضه و پخش بازبینی گردید. FreeBSD بیشتر برای یافتن جوابهای عالی در اهداف کلی طراحی گردیده تا برای تغییرات سریع به منظور اضافه کردن عملکردی جدید.

پشتیبانی:
Windows 2000 : اگرچه پشتیبانی برای windows 2000 وجود دارد، اما باید خود را برای یک انتظار یک ساعته آماده کنید در حالیکه تضمینی برای یافتن پاسخ وجود ندارد. به علت طبیعت کد بسته ویندوز هیچ پشتیبانی رایگان غیر رسمی برای آن وجود ندارد و باگها طبق زمانبندی و برنامه ریزی Microsoft تصحیح می شود نه طبق زمانبندی شما. از آنجاییکه ویندوز 2000 به طور متناوب به روزرسانی نمی شود، شما ممکن است سالها برای تصحیح باگ هایتان منتظر بمانید.
Linux: بسیاری از سازمان ها، پشتیبانی های حرفه ای برای لینوکس ارائه می دهند. تمامی تامین کنندگان عمده Linux بسته به گستردگی کاری، سطحی از پشتیبانی را ارائه می دهند و بعضی خدمات را به طور کامل ارایه می دهند. تعداد بسیاری از محل های بحث و گفتگو برای لینوکس وجود دارند که سوالات شما را مجانی پاسخ می دهند. از گروههای خبری و آدرسهای پستی زیادی نیز به عنوان آخرین پایگاه برای بر طرف کردن مشکلاتتان استفاده کنید.
FreeBSD: موسسات متعددی از جمله BSDi پشتیبانی های گسترده ای از FreeBSD ارائه می دهند. علاوه بر پشتیبانی حرفه ای، میزان بسیار زیادی از پشتیبانی های غیر رسمی از طریق گروههای خبری Usenet و آدرسهای پستی مانند Question@FreeBsd.org قابل دسترسی می باشد. وقتی یک مشکل پیدا می شود معمولا پاسخ دقیق آن ظرف چند ساعت پیدا می شود.

هزینه ها و قیمت های مالکیت:
Windows 2000: قیمت نسخه سرور ویندوز 2000 تقریبا 700 دلار می باشد. برنامه های جانبی هزینه ای جداگانه و اضافه دارند. کاربران معمولا هزاران دلار برای برنامه هایی می پردازند که برروی لینوکس و FreeBSD به طور رایگان در دسترس می باشند. مستند سازی گران بوده و مستندات بسیار کمی به صورت جاری (Online) در دسترس می باشد. برای هر کامپیوتر در شبکه مجوزی جداگانه لازم است که به معنای تاخیر در گسترش شبکه و صرف هزینه های اضافه است. هزینه ابتدایی آموزش برای کارهای مقدماتی سازمانی نسبت Unix کمتر است. همچنین به کار بیشتری برای ادامه کارآیی سیستم با هر میزان بار کاری نیاز دارد.
Linux: لینوکس رایگان بوده و بسیاری از شرکتها بسته های نرم افزاری تجاری خود را هزینه بسیار پایینی بر روی آن ارائه می دهند. برنامه ها و مستندات آنها با هزینه ای کم و یا رایگان در دسترس می باشد. هیچ گونه محدودیتی از نظر اجازه نامه وجود ندارد، بنابراین لینوکس می تواند روی هر تعداد سیستمی که شما می خواهید بدون هرگونه هزینه اضافی نصب گردد. هزینه کل مالکیت لینوکس بسیار اندک است.
FreeBSD: FreeBSD را می توان به صورت مجانی از Internet گرفت یا می توان آن را به صورت یک مجموعه 4 CD به همراه چندین گیگا بایت نرم افزار کاربردی به ازای 40 دلار خریداری نمود که تمامی اسناد ضروری را نیز در بر می گیرد. پشتیبانی از FreeBSD به صورت مجانی و یا با قیمت بسیار اندک در دست می باشد. هیچ گونه گواهینامه و شماره سریالی برای کاربران لازم نیست به همین خاطر می توانید به سرعت کامپیوتر های اضافه ای را به شبکه بیفزایید. اینها همه با هزینه بسیار پایین مالکیت نرم افزار در دسترس می باشد.

مقایسه سرورهای لینوکس و ویندوز :
در حال حاضردو انتخاب اصلی برای خدمات میزبانی وب یا hosting در ایران استفاده از سرورهای میزبان لینوکس یا ویندوز است. مسلما وقتی قرار است بین ویندوز و لینوکس یکی را انتخاب کنیم، حتما لینوکس و یونیکس گزینه مناسبتر خواهد بود چرا که لینوکس در طی این سالها نشان داده که به دلائل امنیتی فراوان بهترین انتخاب برای سرورهاست.
در صورت استفاده از زبانهای برنامه نویسی وب وابسته به Server Side Scripting مثل php, coldfusion, jsp, cgi (c, perl, python, tcl, ...), asp, asp.net اولین مطلب مهم این است که سرورهای لینوکس asp و asp.net را که جزو فناوریهای مایکروسافت هستند پشتیبانی نمی‌کنند. البته برای پشتیبانی از asp در لینوکس اقداماتی انجام شده ولی فعلا بیشتر در حد پروژه های در دست اجرا میباشد. پس اگر می‌خواهید سایتی با این دو تکنولوژی راه‌اندازی کنید، اصولا بی معنی است که بخواهید لینوکس و ویندوز را با هم مقایسه کنید چون حتما باید وب سرور شما ویندوز باشد. در مورد بقیه موارد گفته شده می‌ توان گفت که هر دو سرور لینوکس و ویندوز از پشتیبانی خوبی در این زمینه برخوردارند . اگر بخواهیم با یک مقایسه کلی بگوئیم که از بین ویندوز و لینوکس کدامیک کارائیperformance بهتری برای هر یک این زبان‌ها دارند،‌ باید اذعان کرد که لینوکس در این زمینه بهتر عمل می‌کند.
نکته مهم دیگر این است که اگر cgi را به‌صورت کامپایل شده استفاده می‌کنید، اصولا نمی‌توانید از cgi یی که برای لینوکس کمپایل شده در ویندوز استفاده کنید و یا بلعکس. ولی در سایر موارد میتوان از یک کد هم در سرورهای ویندوز و هم لینوکس استفاده نمود.
در خصوص پایگاه‌های داده و بانکهای اطلاعاتی بایدگفت که بجز بانکهای اطلاعاتی access که خیلی ساده و کم اهمیت هستند و فقط مختص سیستم عامل ویندوز میباشند مابقی تکنولوژیهای رایج در ایجاد و مدیریت پایگاههای داده معمول شاملSQL server مختص سرورهای ویندوز، و MySQL مخصوص سرورهای لینوکس میباشند. بهترین و موفق‌ترین پایگاه داده بدون شک محصولات شرکت Oracle است که به دلیل قیمت بالا فقط در سایت‌ها و سرورهایی استفاده میشود که نیاز به دیتابیس هائی با کارائی و حجم بسیار بالا وجود داردو در مورد وب سایتهای معمولی یا متوسط بدلیل گرانی بیش از حد قابل استفاده نخواهد بود . البته ناگفته پیداست که SQL Server فقط در سرورهای ویندوز قابل استفاده میباشد و بقیه database ها معمولا در هر دو نوع سرور لینوکس و ویندوز قابل استفاده هستند .
نکته مهمی که همیشه ذهن انسان را بخود مشغول میکند این است که کدام یک از ایندو سرور امنیت بیشتری دارند . در این زمینه با مراجعه به آمارهای رسمی منتشر شده در سایتهای امنیتی مهم برتری کلی مسلما با لینوکس خواهد بود.
یکی از دلایل ضعف ویندوز یکپارچه‌تر بودن این سیستم‌عامل نسبت به لینوکس و open source نبودن این سیستم عامل میباشد. و یک نکته بسیار ظریف در این زمینه این است که وقتی یک مشکل امنیتی یا به اصطلاح باگBUG در ویندوز کشف میشود معمولا کاربران و مدیران سرور باید مدتی منتظر بمانند تا service pack یا patch برای این ضعف امنیتی از طرف مایکروسافت ارائه شود (چون کارشناسان نمی توانند خودشان مشکل را حل کنند) و این موضوع یک محدوده زمانی مناسب برای هکرها بوجود می آورد تا ازنقطه ضعفهای کشف شده کمال استفاده را برده و یک سرور را هر طوریکه بخواهند مورد تاخت و تاز و هجوم خود قرار دهند . ولی در سیستم‌عامل‌های Open-Source مثل لینوکس در صورت داشتن دانش کافی با کمی تغییر در کد ها ی منبع سیستم عامل و کامپایل کردن مجدد آن معمولا میتوان مشکل را حل کرد .
اما دلیل اصلی ضعف امنیتی ویندوز این است که اصولا سرورهای ویندوز از نظر ضعف امنیتی بیشتر مورد توجه هکرها و نفوذگرهای شبکه قرار می‌گیرند و نتیجه‌ این امر ایناست که گاهی نقطه ضعفها و حفره‌هایی در ویندوز پیدا میشود که حتی مدیران مایکروسافت را هم به تعجب وا میدارد . و ما را برآن می دارد که فکر کنیم براستی برنامه‌نویسان مایکروسافت تا جه حد باهوشند و موقع کد نوشتن چقدر دقت می‌کنند !!!!!!
مشکلات امنیتی لینوکس معمولا از اسکریپت‌هائی ناشی میشود که به صورت پیش‌فرض توسط خیلی از سرور‌ها نصب میشوند . البته این مشکلات را میتوان براحتی و با disable کردن یا uninstall نمودن برنامه های غیر ضروری از روی سرور یا نصب آخرین ورژن برنامه ها حل نمود .
در حال حاضر برای داشتن سایت به نسبت امن‌تر در ایران، انتخاب قطعی لینوکس خواهد بود. زیرا علاوه برامنیت مسئله قیمت خدمات هوستینگ بسیار حائز اهمیت است و گهگاه قیمت سرورهای لینوکس گاه بمیزان 100 درصد یا بیشتر، پایین‌تر از سرورهای ویندوز میباشد .

ویندوز امن تر از لینوکس است ؟!
بنابر تحقیقی که با سرمایه گذاری مایکروسافت انجام شده است، شرکتهایی که سایتشان را روی سرورهای مبتنی بر لینوکس قرار می دهند، نسبت به رقبای ویندوزی درخطر تهدید بیشتری قرار دارند .
در سال گذشته یک سرور وب مبتنی بر Windows Server 2003 نسبت به یک سرور مبتنی بر Red Hat Enterprise Linux ES3 با یک پیکربندی استاندارد مشکلات امنیتی کمتری داشته است .

همچنین این گزارش نشان می دهد که وب سرورهای ویندوزی روزهای خطر – تعداد روزهایی که یک حفره امنیتی شناخته شده اما اصلاحیه آن ارائه نشده است – کمتری نسبت به رقیب سورس باز خود داشته اند. نویسندگان این گزارش معتقدند نتایج این تحقیق هشداری است برای کاربران که بر اساس یک برداشت عمومی از امنیت یک سیستم عامل به دنبال آن نروند. این گزارش باعث ایجاد بحثهای داغی درباره این موضوع شده است. مدیر تیم پاسخگویی امنیتی Red Hat در یک وبلاگ در پاسخ به این گزارش گفته است که تحقیق به صورت دقیق انجام نشده و حفره های مهم و جدی از حفره های کم اهمیت تفکیک نشده اند. Red Hat پاسخ رسمی به این گزارش نداده است .

در این تحقیق تعداد اصلاحیه های ارائه شده برای حفره های هر وب سرور در سال ۲۰۰۴ شمارش شده است. همچنین تعداد کل روزهای خطر برای هر وب سرور نیز در سال ۲۰۰۴ شمارش شده و مجموع ارائه شده است. بنا بر این گزارش سرور Red Hat در این مقایسه حدود ۱۲ هزار روز خطرداشته، در حالی که رقیب ویندوزی تنها ۱۶۰۰ روز خطر داشته است .

همچنین در این گزارش آمده است که یک وب سرور سورس باز Apache مبتنی بر Red Hat با دیتابیس MySQL و زبان اسکریپت نویسی PHP در پیکربندی پیش فرض دارای ۱۷۴ حفره امنیتی بوده است در حالی که یک وب سرورIIS 6 مبتنی بر ویندوز سرور ۲۰۰۳ با استفاده از Microsoft SQL Server 2000 و ASP.Net در پیکربندی پیش فرض خود تنها ۵ مشکل امنیتی داشته است. همچنین محققان با در نظرگرفتن حداقل پیکربندی لازم و حذف برنامه های کاربردی غیر لازم مجددا این دو رقیب را مقایسه کرده اند که بازهم ویندوز با ۵۲ حفره در مقابل ۱۳۲ حفره لینوکس پیروزشده است. مدیر تیم امنیتی لینوکس در پاسخ به این انتقاد می گوید:« تنها ۸ حفره در Red Hat Enterprise Linux 3 در رده critical قرار دارند و سه چهارم این حفره ها طی یک روز ترمیم شده اند و میانگین تنها ۸ روز است.«

مشکلات امنیتی critical عموما به مشکلاتی اطلاق می شود که به یک هکر اجازه می دهند تا کنترل یک کامپیوتر را از راه دور در اختیار بگیرد. البته تحقیق مورد نظر حفره ها را به سه رده خطر high ، medium و low تقسیم بندی کرده است. مشکلاتی که درجه high را کسب کرده اند، حفره هایی هستند که یا در رده critical گنجیده اند و یا به کاربران محلی اجازه دسترسی به توابع سیستم را می دادند. بنابر این گزارش مایکروسافت در هر دو پیکربندی پیش فرض و حداقل، مشکلات امنیتی کمتری با درجه high داشته است .
محققان اذعان کرده اند که هزینه این تحقیق را مایکروسافت پرداخته است.

مشکلات جدی امنیتی در :Kerberos
حفره های موجود در فناوری مورد استفاده در تعیین هویت در شبکه های کامپیوتری باعث شده است که کامپیوترهای دارای سیستم عاملهای یونیکس، لینوکس و Mac OS در برابر حملات بدون حفاظ باشند.
این حفره های می توانند به یک هکر اجازه دهند تا کنترل کامپیوترهایی را که Kerberos را اجرا کرده اند، در دست بگیرد. این مشکلات امنیتی که توسط Kerberos Team و برنامه نویسان شرکت Sun Microsystems کشف شده اند باید هرچه زودتر اصلاح شوند. سام هارتمن ، یکی از مدیران تیم می گوید:“ انتظار نمی رود این حفره ها به انتشار کرم اینترنتی بیانجامد. از آنجایی که اصلاح این مشکلات به راحتی انجام پذیر است ، بیشتر سایتها به راحتی این کار را انجام خواهند داد.“
Kerberos سنگ بنای امنیتی بسیاری از شبکه ها محسوب می شود.این نرم افزار به عنوان یک دربان عمل می کند و افرادی را که مجاز هستند به کامپیوترهای شبکه دسترسی داشته باشند، شناسایی می کند، لذا وجود حفره در این نرم افزار می تواند بسیار خطرناک باشد.
این حفره ها که به حفره های آزادسازی دوباره مشهورند، به دلیل آن به وجود می آیند که بخشی از برنامه سعی می کند تا یک قسمت از حافظه کامپیوتر را دوبار آزاد کند. چنین مشکلاتی همانند سایر مشکلات حافظه ( مانند سرریز بافر) به راحتی قابل سوء استفاده نیستند.
سولاریس ، لینوکس متعلق به شرکت RedHat ، Mandrake و OS X همگی از Kerberos استفاده می کنند. بعضی شرکتها مانند RedHat و Sun اصلاحیه هایی را برای رفع مشکل ارائه کرده اند اما سایرین هنوز چنین کاری انجام نداده اند.


نگاهی به فرایند خاموش شدن لینوکس:
مدتی پیش مقاله‌ای در مورد چگونگی بوت لینوکس نوشتم. اکنون احساس می‌کنم که باید مقاله‌ای نیز درباره مراحل خاموش شدن یک سیستم لینوکس داشته باشیم.
بدلیل اینکه RAM بسیار سریعتر از خواندن و نوشتن روی دیسک سخت است، فایل سیستم لینوکس تغییرات ایجاد شده را در RAM بافر می‌کند. این به این معنی است که در صورتی که شما سیستم‌تان را بطور صحیح خاموش نکنید، جدیدترین تغییرات ذخیره نخواهند شد. ممکن است این مسئله وقتی تنها پای یک فایل در میان باشد، زیاد مهم نباشد، ولی به یاد داشته باشید که اطلاعات شما فقط همان فایل نیست. پروسه‌های بسیاری مانند سیستم ثبت وقایع سیستم، اطلاعات خود را در فایل سیستم می‌نویسند. از این مهمتر، اطلاعات خود فایل سیستم مانند تعداد بلاک استفاده شده، تعداد فایل‌ها و دایرکتوری‌ها موجود و مانند این است.
این خصوصیت در فایل سیستم‌های قدیمی یونیکس و لینوکس مسئله‌ای جدی به شمار می‌رفت. البته در فایل سیستم‌های جدید موسوم به روزنامه‌ای یا Journaling file systems این مسئله حل شده و تمام تبادلات در یک فایل جایگزین ذخیره می‌شود که امکان بازیافت و اجرای مجدد آن در راه‌اندازی سیستم وجود دارد. فایل سیستم‌های ReiserFS و ext3 مثالی از این فایل سیستم‌های روزنامه‌ای هستند. حتی با وجود این سیستم فایل‌های جدید امن‌تر آن است که سیستم خود را بطور صحیح خاموش کنید!

اجرای برنامه‌های ویندوز بر روی لینوکس بوسیله :Wine
برخی ازسازمان‌ها در حال تجربه نسخه‌هایی از لینوکس‌های رومیزی هستند؛ اما بیشتر کاربران هنوز برای انجام کارهایشان به برنامه‌های کاربردی ویندوز نیاز دارند که برنامه مشابه ای در لینوکس ندارند. یکی از گزینه‌های موجود برای این برنامه‌های کاربردی استفاده از ابزارWine است. در اینجا به بیان مزایای استفاده از این ابزار می‌پردازیم:
واژه Wine به اختصار مخفف 5 کلمه انگلیسی است که مفهوم نهایی آن را میتوان اینچنین تعریف کرد: "Wine Is Not an Emulator." (واین یک تقلید کننده نیست) . در واقع این عبارت یک کلمه ترکیبی زیرکانه برای برنامه Wine است که به شما کمک می‌کند تا برنامه‌های ویندوز را در محیط لینوکس اجرا کنید. Wine در حقیقت یکی از ابزارهای API ویندوز است که به برنامه مورد نظر شما اجازه میدهد تا با استفاده از API در محیط سیستم عامل دیگری اجرا گردد البته با این نکته که اساسا از آن برنامه پشتیبانی نمی‌کند. شایان ذکر است که Wine از سیستم‌های مبتنی بر x86 بصورت کامل پیروی نمی‌کند. اما زمینه را برای اجرای نرم افزارهای API جهت بکار گیری برنامه‌های ویندوز فراهم می‌سازد. همچنین به علت خاصیت غیر تقلیدیWine برنامه‌ها با سرعت مناسبی اجرا می‌شود. در حالی که فرایند تقلیدسازی معمولا باعث کندی اجرای برنامه‌ها می‌شود. حال با نصب Wine در محیط سیستم عامل لینوکس می‌خواهیم چگونگی اجرای برنامه‌های کاربردی معمول در ویندوز را بیشتر بررسی کنیم:
هر چند Notepad برای حصول انجام کارهای متنی مناسب است اما احتمالا شما تصمیم به نصب سایر برنامه‌های مفیدتر نیز در محیط لینوکس خواهید داشت. مجموعه نسبتا زیادی از برنامه‌ها (بالغ بر 1604 برنامه در هنگام نوشتن این مقاله) در بانک اطلاعاتی Wine لیست شده بود. آما این بدین معنی نیست که همه این برنامه‌ها به خوبی اجرا شوند بلکه مستلزم صرف زمان و سعی زیادی توسط کاربران می‌باشد.
نصب برنامه‌ها با استفاده از ابزار Wine مسلما زمان و تلاش فراوانی را می‌طلبد. بعضی اوقات تنها قراردادن CD در درایو و اجرای برنامه نصب کافی نیست. به هر حال باید بسیار تلاش کنید و در صورتی که به اندازه کافی خوش شانس باشید می‌توانید شاهد اجرای برنامه‌های مورد نظرتان در محیط لینوکس باشد. این همان هزینه ای است که برای نصب برنامه در محیط سیستم عاملی که اساسا برای آن برنامه طراحی نشده است خواهید پرداخت.
سوال این است که می‌توان Wine را به عنوان یک محیط تولید مناسب برنامه‌های کابردی تلقی کرد؟ متاسفانه پاسخ منفی است. با وجود همه احترامی‌که من به تلاش برنامه نویسان این پروژه قائل هستم اما این محیطی است پر دردسر برای کاربران که سرانجام به خروجیهای ناقص به جای اجرای برنامه‌های کاربردی ختم می‌شود. یک خانه کاغذی که به تنهایی باعث تولید برنامه‌هایی اکثرا نا کارآمد که معظلاتی برای تیم‌های متخصص پشتیبانی کامپیوتر و همچنین باعث مشکلاتی برای کاربران می‌شود. مطمئنا شما نیز هم عقیده هستید که اجرای یک برنامه مستلزم یکسری فرآیند منطقی است اما رفع مشکلات یک نرم افزار بسیار پیچیده تر از اجرای آن و مستلزم عیب یابی همه عوامل مرتبط با آن نرم افزار می‌باشد. در ضمن برای اجرای یک برنامه کاربردی شما بایدDLLهای مربوط به آن را نیز بر روی دایرکتوری مناسب آن برنامه در محیط Wine کپی مایید.
شاید Wine به عنوان یک نقطه شروع برای کاربرانی که در حال تجربه کردن اجرای برنامه‌های ویندوز بر روی لینوکس هستند مناسب باشد اما برای شرکت‌ها و موسسات تجاری که به طور جدی تصمیم به اجرای برنامه‌های ویندوز بر روی لینوکس دارند بهترین و مطمئن ترین انتخاب نصب CrossOver Office بر روی لینوکس آن شرکت‌ها و موسسات است.
**************
از آنجایی که لینوکس یک سیستم عامل چند کاربره یا Multiuser می باشد و در هر لحظه بیش از یک کاربر می توانند از سیستم استفاده کنند ، این نکته بسیار ضروری است که بتوانیم این کاربران را مدیریت و از لحاظ سطح امنیتی آنها را محدود کنیم تا در آینده دچار مشکلات امنیتی نشویم. برای درک مفهوم مجوزهای دسترسی ما در ابتدا به معرفی مفاهیم اصلی مانند کاربر و گروه و سپس به بررسی نحوه ی مدیریت کاربران خواهیم پرداخت.

کاربران در لینوکس:
در لینوکس سه دسته ی مختلف از کاربران وجود دارند:
۱. کاربر ریشه یا root
۲. کاربر ساده
۳. کاربران سیستم

کاربر اصلی یا SuperUser با نام root شناخته می شود که بر تمام سیستم کنترل کامل داشته و بالاترین سطح دسترسی یک سیستم را دارا می باشد و قابل ذکر است که این کاربر با شناسه ی کاربری یا UserID به شماره ی 0 شناخته می شود.
کاربر ساده می تواند وارد سیستم شود و کارهای معمولی یک کاربر را انجام دهد. هر کاربر یک دایرکتوری به نام دایرکتوری خانگی یا HomeDirectory دارد که اغلب در home/ و با نام کاربری آن کاربر می باشد و نیز یک شل دارد که در اکثر مواقع bin/bash/ میباشد. این کاربران به منابع سیستم دسترسی ندارند به این معنی که نمی توانند تنظیمات کلی سیستم مثلا سرویس دهنده های وب را تغییر دهند (مگر آنکه کاربر ریشه این مجوز را برای آنها صادر کند). بنابراین این کاربران نمی توانند به سیستم آسیبی برسانند و یا فایل های سیستمی را پاک یا تغییر دهند. در لینوکس هر سیستمی علاوه بر یک کاربر ریشه حداقل یک کابر ساده نیز دارد تا کار های معمولی و حتی کارهای کاربر خانگی توسط این کاربر ساده انجام گیرد تا از آسیب دیدن سیستم جلوگیری شود. (این آسیب می تواند پاک شدن یک فایل سیستمی به دلیل نا آشنایی کاربر ساده باشد.)
کاربران سیستم هرگز Login نمی کنند. حساب های کاربری یا Account های این کاربران برای کارهای خاص استفاده می شود. این کاربران معمولا دایرکتوری خانگی نیز ندارند. نمونه ای از این کاربران ٬ کاربران ftp ، apache ،lp می باشند. کاربر ftp برای دسترسی بی نام (Anonymous) یا همان بدون نام کاربری و پسورد استفاده می شود یا کاربرapache معمولا برای مدیریت درخواست های HTTP استفاده می شود. (البته در برخی توزیع های لینوکس این کاربر nobody یا www-data می باشد.)
در اغلب توزیع ها در خط فرمان برای کاربران ساده از کاراکتر دلار ($) و برای کاربر ریشه یا root از کاراکتر پوند (#) استفاده می شود.

hosseinzadeh
چهارشنبه 11 خرداد 1384, 20:04 عصر
:flower:

oxygenws
چهارشنبه 11 خرداد 1384, 22:06 عصر
منبع؟؟