author: Brian Ward
year:2014
page:394
format: pdf
دانلود کتاب How Linux Works: What Every Superuser Should Know
author: Brian Ward
year:2014
page:394
format: pdf
در Red Hat Linux 9.0 این کمپانی تلاش کرده است تا یک نرم افزار مطمئن ، قابل اطمینان و محبوب را به بازار ارائه دهد .اکثر کاربران تکنیکی ترجیح می دهند که از این بسته ی توزیعی استفاده کنند و این بسته نه تنها در کارهای تجاری بلکه در منزل نیز به راحتی قابل استفاده است .
در گذشته این سیستم عامل به صورت متنی در دسترس بوده است و فقط از یک صفحه کنسول با فرامین متنی می توانستند رابط گرافیکی کاربر استفاده کنند . اما با اضافه شدن رابط X Windows به آن کاربران می توانستند از رابط گرافیکی کاربر استفاده کنند . Red Hat Linux 9.0 بطور کامل از این رابط پشتیبانی می کند و به هر کس که اجازه می دهد تا هم از محیط متنی بسیار قوی و هم از محیط گرافیکی استفاده کند .
حدود 1400 بسته موجود می باشد . بسته ها شامل نرم فزار های مفیدی می باشند که روی هر کدام به اندازه ی کافی زحمت کشیده شده است تا یک کلکسیون کامل را همراه داشته باشید . این نرم افزار ها به شما کمک می کنند تا :
در بالا فقط لیست کوچکی از توانایی ها و مزایای Red Hat Linux 9.0 ارائه شد .
لینوکس چیست ؟
لینوکس یک سیستم عامل کاملاً رایگان است که توسط Linux Torvalds در سال 1991 که در آن زمان دانشجوی سال دوم کامپیوتر در دانشگاه هلسینکی فندلاند بود ابداع شد . لینوکس کار با سیستمهای عامل و نفوذ به شبکه ها را به صورت انفرادی و بر اساس علاقه یادگرفته بود . این دانشجوی 21 ساله علاقه زیادی به ارتباطات کامپیوتری داشت . اما چیزی که کمبود آنرا کاملاً حس می کرد فقدان یک سیستم عامل مناسب و قدرتمند برای کامپیوتر های شخصی بود .
شامل 22 صفحه فایل WORD قابل ویرایش
مقدمه:
فایلها یکی از بنیادی ترین مفاهیم سیستم عامل هستند. هر سیستم عاملی برای ساختن یک فایل، نگهداری اطلاعات آن، دسترسی و بازیابی فایل،تغییر خصوصیات فایل و عملیات و مفاهیم مرتبط با فایل از ساختاری بهره Ms-Dos سیستم فایل معروف FAT 16 ) یاد می شود. File Systemمی بردکه از آن به سیستم فایل (
هر کدام OSL2 وBSD در ویندوز استفاده می شوند. و یونیکس، سولاریس، NTFS وFAT 32 است.
هم سیستم فایل انحصاری سیستم عامل این سورس Ext سیستم فایل مرتبط با ساختار کرنل خود را دارند. گنو/ لینوکس است که همزمان با توسعه این سیستم عامل خلق شد. گنو/ لینوکس بخشی از پایداری و قدرتمندی خود را همراه ویژگی های منحصر به فردی مانند دادن مجوزها و مالکیت ها به هر فایل را مدیون سیستم فایل
خود است. در نوشتار زیر نگاهی اجمالی به این سیستم فایل داریم.
تاریخچه:
لینوکس توروالدز در طراحی سیستمعامل آزمایشی خود در سال 1991 از سیستم فایلMinix استفاده کرد. سیستم فایلMinix جوابگوی نیازهای توروالدز بود و به خوبی در سیستمعامل جدید جا افتاد. با بهوجود آمدن یک جنبش اینترنتی برای توسعه این سیستمعامل جدید و تبدیل آن به یک سیستمعامل اپنسورسِ قابل استفاده برای عامه مردم، نارسایی و مشکلات سیستم فایلMinix ظهور کرد و نیاز به طراحی یک سیستم فایل
جدید توسط مشتاقان لینوکس حِس شد. دو مشکل عمده Minix در سیستم فایل عبارت بودند از کوچک بودن نام فایلها (حداکثر 14 کاراکتر) و فضای حافظه بسیار محدود (بلوک آدرسدهی فقط 16 بیتی بود یعنی 216=46مگابایت)
طراحی Virtual File System )VFS ) توسط <کریس پروون زنو> راه را برای خلق یک سیستم فایل جدید با توانایی و کارایی بهتر ازMinix هموار ساخت. VFS یا همان لایه مجازی سیستم فایل توسط خود آقای توروالدز توسعه داده شد و به کرنل لینوکس اضافه گردید. بلافاصله در آوریل 1992 سیستم فایل جدید،Extended File system، در نسخه 96/0 لینوکس بهجای سیستم فایلMinix استفاده شد. در واقع بنیانگذارانEXT fs عبارتند از Remy Card از آزمایشگاه ماساچوست، "Theodor Ts o" از انجمن تکنولوژی ماسوچوست و Stephan Tweedie از دانشگاه رادینبرگ.
شامل 42 صفحه فایل word
فرمت فایل : WORD (قابل ویرایش)
تعداد صفحات:106
فهرست مطالب:
صفحه عنوان
لینوکس چیست؟ 1
تاریخچه 2
آغاز داستان 2
کودک جدید در افق 4
مقایسه و توسعه 7
پس از یک دهه : لینوکس امروز 9
طلوع لینوکس روی میزی (Desktop Linux) 10
لینوکس در جهان سوم 10
از میزکار تا ابرکامپیوترها 11
داستان ادامه دارد 11
توکس پنگوئن : نشان عزیز لینوکس 12
لایناس تورالدز، خالق هسته لینوکس 12
مجوز 14
گنو/لینوکس 14
ریچارد استالمن 14
توزیعهای لینوکس 15
گستره 15
کاربردهای سیستم عاملهای شکل گرفته بر پایه لینوکس 16
II.لینوکس سیستم عامل قرن ۲۱ 17
1.هزینه 18
2.امنیت و پایداری 18
4.تنظیم و شخصی سازی 19
5.آزادی 20
III.کاربرد های لینوکس 20
نصب 22
پیکربندی 23
پشتیبانی 23
نصب لینوکس شبدیکس بر روی دیسک سخت: 24
II.استفاده از Fdisk 29
III.نگاهی به ستون ها 31
ایجاد پارتیشن های جدید. 32
III.پاک کردن یک پارتیشن 37
1-روش های نصب برنامه ها در لینوکس [1] 37
2- بسته های RPM 40
3-. بسته های DEB 42
4-.بسته های Tarball 43
5-. اطلاعات ضروری در زمان نصب برنامه 44
۱.وابستگی های برنامه (Dependencies) 44
۲.کتابخانه ها(Libraries) 45
۳.ابزار های توسعه(Development Tools) 46
۴.پایگاه داده ی بسته های نصب شده 46
II. سطوح اجرایی 47
III.نحوهی کنترل سرویسها 50
IV.برنامههای واسط برای کنترل 52
۱. ردهت 52
۲.دبیان 53
۳. زوزه 54
۴. سایر برنامهها 54
I.لینک چیست؟ 55
II.لینک های سخت یا Hardlinks 55
III.لینک های نرم یا soft links 56
IV.لینک های سخت در مقابل لینک های نرم 57
I.پوسته 58
II.انواع پوسته 59
۳. Korn shell یا ksh یا pdksh 60
۴. Bourne Again shell یا bash 61
۵. tcsh shell 61
III.کدام پوسته 61
مروری کلی بر سیستم فایل در لینوکس 62
فایلها 62
دایرکتوریها: فایل ها و لیست سایر فایل ها. 63
در باره پارتیشن بندی 65
چرا پارتیشن؟ 65
انواع وطرحبندی پارتیشن 66
چگونگی نصب مودم در لینوکس : 70
امنیت در لینوکس 73
لینوکس: امنیت، امنیت، امنیت 73
نکاتی در مورد امنیت در لینوکس 79
مقایسه امنیت در ویندوز و لینوکس 81
نکات امنیتی در لینوکس (قسمت اول) 84
کنترل دسترسی به فایلها و ویژگیهای آنها 85
فرهنگ لغات فنی امنیت 87
امنیت هسته 89
نکات امنیتی عمومی: 90
شناسایی حملات شبکهای 93
نتیجهگیری کلی 94
نکات امنیتی در لینوکس (قسمت آخر) 94
چک کردن درستی بستههای نرمافزاری 94
نصب و پیکربندی OpenSSH 95
امنیت آپاچی 97
پیکربندی TCP Wrapper-ها 99
منابع و ماخذ 106
لینوکس چیست؟
لینوکس یک سیستم عامل آزاد و باز متن است که تحت مجوز GNU/GPL منتشر شده است. باز متن به این معنی که هر شخصی آزاد است تا از آن استفاده کند ،آن را تغییر دهد و حتی می تواند آن را دوباره توزیع کند.
اگر بخواهیم دقیق باشیم فقط باید هستهٔ لینوکس را لینوکس بنامیم اما به طور معمول این کلمه به سیستمعاملهای یونیکسمانندی (یا گنو/لینوکسی) اطلاق میشود که بر مبنای هستهٔ لینوکس و کتابخانهها و ابزارهای پروژه گنو ساخته شدهاند. به مجموعهای از نرمافزارهای بنا شده بر اجزای گفته شده توزیع لینوکس (linux distribution) میگویند که به طور معمول شامل ابزارهای توسعه نرمافزار، پایگاههای داده، سرویس دهندههای وب مثل آپاچی، محیطهای رومیزی مثل گنوم و کیدیای و مجموعههای اداری مثل اُپن آفیس هستند.
لینوکس برای استفادهٔ ریزپردازندهها با معماری ۸۰۳۸۶ اینتل طراحی شده بود اما امروزه انواع مختلف معماریها را پشتیبانی میکند و در انواع و اقسام وسایل از کامپیوترهای شخصی گرفته تا ابررایانهها و تلفنهای همراه به کار میرود. این سیستم عامل که در ابتدا بیشتر توسط افراد مشتاق توسعه پیدا میکرد و به کار گرفته میشد توانستهاست پشتیبانی شرکتهای سرشناسی چون آی بی ام و هیولت-پاکارد را به دست آورد و با بسیاری از نسخههای خصوصی یونیکس رقابت کند. طرفداران لینوکس و بسیاری از تحلیلگران این موفقیت را ناشی از استقلال از فروشنده، کم هزینه بودن پیادهسازی،سرعت بالا, امنیت و قابلیت اطمینان آن میدانن
لینوکس در سال ۱۹۹۱ در دانشگاه هلسینکی فنلاند توسط یک دانشجوی جوان به نام لینوس تروالدز نوشته شد. تراوالدز در اصل با Minix (که یک یونیکس خلاصه شده است.) کار می کرد ،اما تصمیم گرفت تا سیستم عاملی دلخواه خود و بر اساس UNIX خلق کند و این ماجرا با انتشار نسخه ی 0.02 در سال ۱۹۹۱ توسط او آغاز شد که در زمان نوشتن لینوس ترووالدز طی یک نامه ی الکترونیکی خبر نوشتن سیستم عامل بازمتن خود را اعلام کرد ، طولی نکشید که صدها نفر از سراسر دنیا خواهان کار با این سیستم عامل باز متن (Open Source) که به UNIX شباهت داشت شدند و شروع به توسعه ی ان کردند.
امروزه توزیع های فراوانی از لینوکس و جود دارد که از هسته و نرم افزار های آزاد (Free Software) همراه هسته تشکیل می شوند. همه ی این توزیع ها از یک هسته ی واحد به نام لینوکس استفاده می کنند.
اگر بخواهیم دقیق تر توضیح بدهیم ، لینوکس یکسری کد است و ارتباط بین سخت افزار ها و نرم افزار ها را برقرار می کند (به عنوان هسته یا کرنل) و یک توزیع لینوکس (که در زبان عام به ان لینوکس می گویند) شامل هسته و تعداد زیادی نرم بازمتن می باشد مانند توزیع های ردهت (Redhat) ، دبیان ( debian ) ، اسلاکویر( Slackware) وجینتو(Gentoo).
شایان ذکر است که امروزه برای راحتی به توزیع های لینوکس همان لینوکس گفته می شود که البته صحیح آن گنو/لینوکس می باشد ، چرا که بیشتر نرم افزار های استفاده شده در این توزیع ها تحت مجوز های گنو انتشار یافته اند، بنابراین این از این پس هر جا که از لینوکس نام می بریم منظورمان همان توزیع های گنو/لینوکس است مگر ان که صریحا به هسته ی لینوکس اشاره کنیم .
تاریخچه
آغاز داستان
در سال 1991 در حالی که جنگ سرد رو به پایان میرفت و صلح در افقها هویدا میشد، در دنیای کامپیوتر، آینده بسیار روشنی دیده میشد. با وجود قدرت سخت افزارهای جدید، محدودیت های کامپیوترها رو به پایان میرفت. ولی هنوز چیزی کم بود...
و این چیزی نبود جز فقدانی عمیق در حیطه سیستم های عامل.
داس، امپراطوری کامپیوترهای شخصی را در دست داشت. سیستم عامل بی استخوانی که با قیمت 50000 دلار از یک هکر سیاتلی توسط بیل گیتز (Bill Gates) خریداری شده بود و با یک استراتژی تجاری هوشمند، به تمام گوشه های جهان رخنه کرده بود. کاربران PC انتخاب دیگری نداشتند. کامپیوترهای اپل مکینتاش بهتر بودند. ولی قیمتهای نجومی، آنها را از دسترس اکثر افراد خارج می ساخت.
خیمه گاه دیگر دنیای کامپیوترها، دنیای یونیکس بود. ولی یونیکس به خودی خود بسیار گرانقیمت بود. آنقدر گرانقیمت که کاربران کامپیوترهای شخصی جرات نزدیک شدن به آنرا نداشتند. کد منبع یونیکس که توسط آزمایشگاههای بل بین دانشگاهها توزیع شده بود، محتاطانه محافظت میشد تا برای عموم فاش نشود. برای حل شدن این مسئله، هیچیک از تولید کنندگان نرم افزار راه حلی ارائه ندادند.
بنظر میرسید این راه حل به صورت سیستم عامل MINIX ارائه شد. این سیستم عامل، که از ابتدا توسط اندرو اس. تاننباوم (Andrew S. Tanenbaum) پروفسور هلندی، نوشته شده بود به منظور تدریس عملیات داخلی یک سیستم عامل واقعی بود. این سیستم عامل برای اجرا روی پردازنده های 8086 اینتل طراحی شده بود و بزودی بازار را اشباع کرد.
بعنوان یک سیستم عامل، MINIX خیلی خوب نبود. ولی مزیت اصلی آن، در دسترس بودن کد منبع آن بود. هرکس که کتاب سیستم عامل تاننباوم را تهیه میکرد، به 12000 خط کد نوشته شده به زبان C و اسمبلی نیز دسترسی پیدا میکرد. برای نخستین بار، یک برنامه نویس یا هکر مشتاق میتوانست کد منبع سیستم عامل را مطالعه کند. چیزی که سازندگان نرم افزارها آنرا محدود کرده بودند. یک نویسنده بسیار خوب، یعنی تاننباوم، باعث فعالیت مغزهای متفکر علوم کامپیوتری در زمینه بحث و گفتگو برای ایجاد سیستم عامل شد. دانشجویان کامپیوتر در سرتاسر دنیا با خواندن کتاب و کدهای منبع، سیستمی را که در کامپیوترشان در حال اجرا بود، درک کردند.
کودک جدید در افق
در سال 1991، لینوس بندیکت توروالدز (Linus Benedict Torvalds) دانشجوی سال دوم علوم کامپیوتر دانشگاه هلسینکی فنلاند و یک هکر خود آموخته بود. این فنلاندی 21 ساله، عاشق وصله پینه کردن محدودیت هایی بود که سیستم را تحت فشار قرار میدادند. ولی مهمترین چیزی که وجود نداشت یک سیستم عامل بود که بتواند نیازهای حرفه ای ها را براورده نماید. MINIX خوب بود ولی فقط یک سیستم عامل مخصوص دانش آموزان بود و بیشتر به عنوان یک ابزار آموزشی بود تا ابزاری قدرتمند برای بکار گیری در امور جدی.
در این زمان برنامه نویسان سرتاسر دنیا توسط پروژه گنو (GNU) که توسط ریچارد استالمن (Richard Stallman) آغاز شده بود، تحریک شده بودند. هدف این پروزه ایجاد حرکتی برای فراهم نمودن نرم افزارهای رایگان و در عین حال با کیفیت بود. استالمن خط مشی خود را از آزمایشگاه معروف هوش مصنوعی دانشگاه MIT با ایجاد برنامه ویرایشگر emacs در اواسط و اواخر دهه 70 آغاز نمود. تا اوایل دهه 80، بیشتر برنامه نویسان نخبه آزمایشگاههای هوش مصنوعی MIT جذب شرکتهای نرم افزاری تجاری شده بودند و با آنها قرارداد های حفظ اسرار امضا شده بود. ولی استالمن دیدگاه متفاوتی داشت. وی عقیده داشت برخلاف سایر تولیدات، نرم افزار باید از محدودیت های کپی و ایجاد تغییرات در آن آزاد باشد تا بتوان روز به روز نرم افزارهای بهتر و کارآمد تری تولید نمود.
با اعلامیه معروف خود در سال 1983، پروژه GNU را آغاز کرد. وی حرکتی را آغاز کرد تا با فلسفه خودش به تولید و ارائه نرم افزار بپردازد. نام GNU مخفف GNU is Not Unix است. ولی برای رسیدن به رویای خود برای ایجاد یک سیستم عامل رایگان، وی ابتدا نیاز داشت تا ابزارهای لازم برای این کار را ایجاد نماید. بنابراین در سال 1984 وی شروع به نوشتن و ایجاد کامپایلر زبان C گنو موسوم به GCC نمود. ابزاری مبهوت کننده برای برنامه نویسان مستقل. وی با جادوگری افسانه ای خود به تنهایی ابزاری را ایجاد نمود که برتر از تمام ابزارهایی که تمام گروههای برنامه نویسان تجاری ایجاد کرده بودند قرار گرفت. GCC یکی از کارآمد ترین و قویترین کامپایلرهایی است که تا کنون ایجاد شده اند.
تا سال 1991 پروزه GNU تعداد زیادی ابزار ایجاد کرده بود ولی هنوز سیستم عامل رایگانی وجود نداشت. حتی MINIX هم لایسنس شده بود. کار بر روی هسته سیستم عامل گنو موسوم به HURD ادامه داشت ولی به نظر نمی رسید که تا چند سال آینده قابل استفاده باشد.
این زمان برای توروالدز بیش از حد طولانی بود...
در 25 آگوست 1991، این نامه تاریخی به گروه خبری MINIX از طرف توروالدز ارسال شد:
از : لینوس بندیکت توروالدز
به: گروه خبری MINIX
موضوع: بیشتر چه چیزی را میخواهید در MINIX ببینید؟
خلاصه: نظرخواهی کوچک در مورد سیستم عامل جدید من
با سلام به تمام استفاده کنندگان از MINIX
من در حال تهیه یک سیستم عامل رایگان فقط به عنوان سرگرمی و نه به بزرگی و حرفه ای GNU برای دستگاههای 386 و 486 هستم. این کار از آوریل شروع شده و درحال آماده شدن است. من مایلم تا نظرات کاربران را در مورد چیزهایی که در MINIX دوست دارند یا ندارند، جمع آوری کنم. زیرا سیستم عامل من حدودا شبیه آن است. مانند ساختار سیستم فایل مشابه و چیزهای دیگر... من اکنون bash نسخه 1.08 و GCC نسخه 1.40 را به آن منتقل کرده ام و به نظر میرسد که کار میکند. من در عرض چند ماه چیزی آزمایشی درست کرده ام و مایلم بدانم که کاربران بیشتر به چه قابلیتهایی نیاز دارند؟ من از هر پیشنهادی استقبال میکنم. ولی قول نمی دهم همه آنها را اجرا کنم. لینوس
همانطور که در این نامه پیداست، خود توروالدز هم باور نمی کرد که مخلوقش آنقدر بزرگ شود که چنین تحولی در دنیا ایجاد کند. لینوکس نسخه 0.01 در اواسط سپتامبر 1991 منتشر شد و روی اینترنت قرار گرفت. شور و اشتیاقی فراوان حول مخلوق توروالدز شکل گرفت. کدها دانلود شده، آزمایش شدند و پس از بهینه سازی به توروالدز بازگردانده شدند. لینوکس نسخه 0.02 در پنجم اکتبر به همراه اعلامیه معروف توروالدز آماده شد:
از : لینوس بندیکت توروالدز
به: گروه خبری MINIX
موضوع: کدهای منبع رایگان هسته مشابه MINIX
آیا شما از روزهای زیبای MINIX 1.1 محروم شده اید؟ هنگامی که مردها مرد بودند و راه اندازهای دستگاه خود را خودشان مینوشتند؟ آیا شما فاقد یک پروزه زیبا هستید و می میرید تا سیستم عاملی داشته باشید تا بتوانید آنرا مطابق با نیازهای خود در آورید؟ اگر اینگونه است، این نامه برای شما نوشته شده است.
همانطور که ماه پیش گفتم من در حال کار بر بروی یک سیستم عامل رایگان مشابه MINIX برای کامپیوترهای 386 هستم. این سیستم عامل اکنون بجایی رسیده است که قابل استفاده است و مایل هستم که کدهای منبع را در سطح گسترده تر پخش نمایم. این نسخه 0.02 است ولی من موفق شده ام که نرم افزارهای Bash، GCC، GNU-Make، GNU-sed، Compress و غیره را تحت آن اجرا کنم. کدهای منبع این پروژه را میتوانید از آدرس nic.funet.fi با آدرس 128.214.6.100 در دایرکتوری pub/OS/Linux پیدا کنید. این دایرکتوری همچنین دارای چند فایل README و تعدادی باینری قابل اجرا تحت لینوکس است. تمام کدهای منبع ارائه شده است زیرا هیچ یک از کدهای MINIX در آن استفاده نشده است. سیستم را میتوانید همانطور که هست کامپایل و استفاده کنید. کدهای منبع باینری ها را هم میتوانید در مسیر pub/GNU پیدا کنید.
لینوکس نسخه 0.03 پس از چند هفته آماده شد و تا دسامبر، لینوکس به نسخه 0.10 رسید. هنوز لینوکس فقط چیزی کمی بیشتر از یک فرم اسکلت بود. این سیستم عامل فقط دیسکهای سخت AT را پشتیبانی میکرد و ورود به سیستم نداشت و مستقیما به خط فرمان بوت میشد. نسخه 0.11 خیلی بهتر شد. این نسخه از صفحه کلیدهای چند زبانه پشتیبانی میکرد، دیسکهای فلاپی و کارتهای گرافیکی VGA، EGA، هرکولس و... نیز پشتیبانی میشدند. شماره نسخه ها از 0.12 به 0.95 و 0.96 افزایش پیدا کرد و ادامه یافت. بزودی کد آن بوسیله سرویس دهنده های FTP در فنلاند و مناطق دیگر، در سرتاسر جهان منتشر شد.
مقایسه و توسعه
بزودی توروالدز با مقایسه هایی از طرف اندرو تاننباوم، معلم بزرگی که MINIX را نوشته بود، مواجه شد. تاننباوم برای توروالدز مینویسد:
“من بر این نکته تاکید دارم که ایجاد یک هسته یکپارچه در سال 1991 یک اشتباه پایه ای بود. خدا را شکر که شما شاگرد من نیستید، واگر نه برای چنین طرحی نمره بالایی نمی گرفتید.”
توروالدز بعدا پذیرفت که این بدترین نکته در توسعه لینوکس بوده است. تاننباوم یک استاد مشهور بود و هرچه که می گفت واقعیت داشت. ولی وی در مورد لینوکس اشتباه میکرد. توروالدز کسی نبود که به این سادگی ها پذیرای شکست باشد.
تاننباوم همچنین گفته بود : “لینوکس منسوخ شده است”.
اکنون نوبت حرکت نسل جدید لینوکس بود. با پشتیبانی قوی از طرف اجتماع لینوکس، توروالدز یک پاسخ مناسب برای تاننباوم فرستاد :
“شغل شما استاد دانشگاه و محقق بودن است و این بهانه خوبی برای برخی مغز خرابکنی های MINIX است.”
و کار ادامه یافت. بزودی صدها نفر به اردوگاه لینوکس پیوستند. سپس هزاران نفر و سپس صدها هزار نفر. لینوکس دیگر اسباب بازی هکرها نبود. با پشتیبانی نرم افزارهای پروزه GNU، لینوکس آماده یک نمایش واقعی بود. لینوکس تحت مجوز GPL قرار داده شد. با این مجوز همه میتوانستند کدهای منبع لینوکس را به رایگان داشته باشند، بر روی آنها مطالعه کرده و آنها را تغییر دهند. دانشجویان و برنامه نویسان آنرا قاپیدند.
و خیلی زود تولید کنندگان تجاری وارد شدند. لینوکس به خودی خود رایگان بود و هست. کاری که این تولیدکنندگان انجام دادند، کامپایل کردن بخش ها و نرم افزارهای مختلف و ارائه آن بصورت یک فرمت قابل توزیع همانند سایر سیستم عاملها بود، تا مردم عادی نیز بتوانند از آن استفاده کنند. اکنون توزیع هایی مانند ردهت، دبیان و زوزه دارای بیشترین سهم کاربران در سرتاسر جهان هستند. با رابطهای گرافیکی کاربر جدید مانند KDE و GNOME، توزیع های لینوکس در بین مردم بسیار گسترش یافتند.
همچنین اتفاقات جالبی با لینوکس رخ میدهد. در کنار PC، لینوکس به روی اکثر پلاتفورمها منتقل شده است. لینوکس تغییر داده شد تا کامپیوتر دستی شرکت 3Com یعنی PalmPilot را اجرا نماید. تکنولوژی کلاستر کردن این امکان را بوجود آورد تا بتوان تعداد زیادی از ماشینهای لینوکس را به یک مجموعه واحد پردازشی تبدیل نمود. یک کامپیوتر موازی. در آوریل 1996 محققین آزمایشگاههای ملی لوس آلاموس از 68 کامپیوتر مبتنی بر لینوکس برای پردازش موازی و شبیه سازی موج انفجار اتمی استفاده کردند. ولی بر خلاف ابر کامپیوترهای دیگر، هزینه آنها بسیار ارزان تمام شد. ابرکامپیوتر خود ساخته آنها با تمام تجهیزات و سخت افزارها 152000 دلار هزینه در بر داشت و این یک دهم هزینه یک ابرکامپیوتر تجاری است. این ابرکامپیوتر به سرعت 16 بیلیون محاسبه در ثانیه دست یافت و به رتبه 315 ام این ابرکامپیوتر جهان دست پیدا کرد و صد البته یکی از پایدارترین آنها بود. پس از سه ماه از آغاز فعالیت، هنوز بوت نشده بود.
بهترین موردی که امروزه برای لینوکس وجود دارد، طرفداران متعصب آن هستند. هنگامی که یک قطعه سخت افزاری جدید ارائه میشود، هسته لینوکس برای استفاده از آن تغییر داده میشود. برای مثال هنگام ارائه پردازنده 64 بیتی شرکت AMD هسته به سرعت چند هفته برای کار با آن آماده شد. اکنون لینوکس بر روی تمام انواع خانواده های سخت افزاری موجود اعم از PC، MAC، Alpha و انواع سخت افزارهای درونه ای قابل اجراست که آنرا برای استفاده در ماشین آلات صنعتی و آلات و ادواتی که نیاز به پردازش کامپیوتری دارند، بسیار مناسب نموده است. لینوکس با همان فلسفه و هدفی که در سال 1991 ایجاد شد، وارد هزاره جدید شده است.
توروالدز، هنوز یک انسان ساده است. بر خلاف بیل گیتر او یک میلیاردر نیست. پس از اتمام مطالعاتش وی به آمریکا رفت تا با شرکت Transmeta همکاری نماید. پس از انجام یک پروژه فوق سری که توروالدز یکی از اعضای فعال آن بود، ترانسمتا پردازنده Cruose را با بازار ارائه کرد. توروالدز هنوز پرطرفدار ترین و مشهورترین برنامه نویس جهان است. در حال حاضر توروالدز ترانسمتا را ترک نموده و با حمایت شرکتهای بزرگ به طور تمام وقت بر روی لینوکس کار میکند.
فرمت فایل : word(قابل ویرایش)
تعداد صفحات:220
چکیده:
نصب لینوکس
قبل از نصب
1. یک نسخه پشتیبان از کامپیوتر تهیه کنید
2.(defragmenter) کنید
3. برای باز کردن جا جهت Linux در کنار windows هارد دیسک خود را دوباره پارتیشن بندی کنید تغیییر اندازه پارتیشن ها FAT و NTFS در ویندوز توسط
PartitionMagic
پس از نصب برنامه Partition Magic واجرای آن شکل پارتیشن های هارد خود را خواهید دید
:برای نصب لینوکس نیاز به فضایی از هارد داریم . حداقل 2.2 GB برای نصب و 5 GB را به صورت Unallocated توسط partition Magic در می آوریم .
به عنوان مثال 5 GB را از درایو مورد نظر جدا می کنیم .
برای این کار روی درایو مورد نظر کلیک سمت راست کرده و Resize/Move را انتخاب می کنیم
..دیسک CD-ROM نصب را داخل درایو قرار دهید
2. کامپیوتر خود را بوت کنید
.
● پس از اعلان بوت ، در جلوی اعلان بوت کلید Enter را برای ورود به نصب گرافیکی،فشاردهید.
●صفحه خوش آمدگویی
این صفحه آغاز فرایند نصب را به شما اعلام میکند. فقط کافی است روی کلید Next کلیک نمایید
● انتخاب زبان
پس از آغاز برنامه نصب، اولین سوالی که پرسیده میشود، انتخاب زبان برنامه نصب است. زبان مورد نظر خود را انتخاب نموده و روی گزینه Next کلیک نمایید.
● انتخاب صفحه کلید
نوع صفحه کلید خود را انتخاب نمایید. مثلا صفحه کلید 105 کلید و با کلیدهای انگلیسی
● ماوس
نوع ماوسی که روی سیستمتان نصب شده است را انتخاب نمایید. انواع ماوسهای درگاه سریال و PS/2 و USB پشتیبانی میشوند. در صورتی که ماوس شما دو کلید دارد ، میتوانید با انتخاب گزینه Emulate 3 buttons ، هنگام استفاده با نگه داشتن کلید Shift ، کلید سوم ماوس را شبیه سازی نمایید . کلید سوم توسط برخی از برنامه های کاربردی لینوکس مورد نیاز میباشد
● انتخاب نوع نصب (Install Type)
ایستگاه کاری (Workstation): کامپیوتر شما را بصورت خودکار پارتیشن بندی نموده و بسته های نرم افزاری لازم برای یک ایستگاه کاری را نصب می کند. یکی از محیطهای گرافیکی GNOME و یا KDE نصب خواهند شد و برنامه X Window ساختارهای لازم برای اجرای آنها را فراهم می کند . محیط GNOME محیط گرافیکی پیش گزیده "لینوکس ردهت" است. شما میتوانید پس از نصب محیط KDE را نیز نصب نمایید.
● انتخاب استراتژی پارتیشن بندی (Partitioning)
شما دو راه برای انتخاب نوع پارتیشن بندی دیسک سخت خود پیش رو دارید:
- پارتیشن بندی خودکار : برنامه نصب به صورت خودکار عمل پارتیشن بندی را برای شما انجام خواهد داد . با این انتخاب تمام پارتیشن های لینوکس موجود روی دیسک سخت پاک شده و فضای خالی ایجاد شده برای پارتیشن بندی مورد استفاده قرار خواهد گرفت
- پارتیشن بندی دستی توسط ابزار Disk Druid : با انتخاب این گزینه ابزار Disk Druid برای انجام عمل پارتیشن بندی اجرا خواهد شد.
● پارتیشن بندی خودکار
1- پاک کردن تمام پارتیشن های لینوکس موجود (Remove all Linux partitions on this system)
با انتخاب این گزینه پارتیشن های ویندوز و پارتیشن های غیر لینوکسی روی سیستم باقی خواهند ماند.
2- پاک کردن تمام پارتیشن های موجود (Remove all partition on this system):
تمام پارتیشن ها و اطلاعات موجود از میان خواهند رفت.
3- حفظ تمام پارتیشن ها و استفاده از فضای خالی موجود (Keep all partitions and use existing free space) :
این گزینه به شرطی کار خواهد کرد که شما فضای خالی کافی پارتیشن بندی نشده روی دیسک سخت خود داشته باشید.
● انتخاب برنامه بوت کننده (Boot Loader) :
در این مرحله میتوانید یکی از برنامه های GRUB و یا LILO را انتخاب نمایید
به خاطر داشته باشید حتماً گزینه Configure Advanced boot loader option را فعال کنید:
● پیکربندی شبکه (Network Configuration) :
در صورت داشتن شبکه ، آن را پیکربندی کنید در غیر اینصورت Next را کلیک کنید
● انتخاب زبانهای قابل پشتیبانی (Language Support)
● انتخاب موقعیت زمانی (Time Zone)
● تنظیم کلمه عبور ریشه (Set root password) :
کلمه رمز باید حداقل دارای 6حرف باشد
● انتخاب بسته ها (Select Packages )
● شروع و کپی نصب
● تنظیم مانیتور
تنظیماتIP و شبکه در گنو / لینوکس
در هرشبکه بطورمعمول نخستین لایه یعنی سخت افزار از یک کارت شبکه یا اترنت تشکیل شده و برای اینکه این کارت بعنوان یک رابط درمحیط شبکه بکارگرفته شود بایستی اولا آدرس واحدی تحت عنوان IP address به آن اختصاص یافته و ثانیا"بسته ها یا packet های اطلاعاتی برای رسیدن به این رابط مسیر دهی شوند که به این عمل routing گفته میشود.
در اغلب توزیعهای لینوکس راههای خاصی برای انجام تنظیمات رابط یا کارت شبکه گنجانده شده که در اینجا روش ساده استفاده از فرامین متنی در محیط shell بررسی میشود :
باید دانست که هسته ا کرنل سیستم عامل لینوکس بطورپیش فرض از یک رابط مجازی یا loopback interface (lo) بعنوان یک ابزار مجازی برای ارتباط با خود سیستم استفاده میکند .
این ابزار مجازی بطور معمول IP 127.0.0.1 و نام localhost را برمی گزیند و در هنگام بوت سیستم بطور ازپیش تعریف شده فعال میگردد .
قسمت اصلی سخت افزار شبکه یک رایانه کارت شبکه network interface میباشد که در محیط گنو/لییوکس معمولا با اسامی eth0 یا eth1 و ... بسته به تعداد کارتهای شبکه متصل به سیستم آدرس دهی و نامگذاری میشود.
برای تنظیم IP یک کارت شبکه بافرض اینکه این کارت اولین و تنها کارت شبکه نصب شده در سیستم است تنها چیزی که لازم داریم برنامه ifconfig (interface configure) میباشد و میبایست بعنوان مثال از دستور زیر در محیط shell با مجوز کاربر ریشه استفاده کنیم :
/sbin/ifconfig eth0 192.168.3.9 broadcast 192.168.3.255 netmask 255.255.255.0 #
همانطوریکه ملاحظه میشود در اینجا یک IP کلاس C شامل آی پی اختصاص یافته به کارت شبکه 192.168.3.9 و یک پوشانه زیر شبکه کلاس c شامل 255.255.255.0 به کارت شبکه ما eth0 اختصاص می یابد . و آی پی broadcast نیز شامل IP خاصی است که کلیه کامپیوترهای شبکه به آن پاسخ میدهند و معمولا آخرین شماره آی پی یک کلاس شبکه میبا شد .
در ادامه برای بررسی صحت عملیات انجام شده و عملکرد کارت شبکه از دستور ifconfig به تنهائی استفاده کرده و پاسخ سیستم را که چیزی مشابه زیر خواهد بود مشاهده میکنیم :
/sbin/ifconfig #
eth0
Link encap:Ethernet HWaddr 00:00:E8:3B:2D:A2
inet addr:192.168.3.9 Bcast:192.168.3.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1359 errors:0 dropped:0 overruns:0 frame:0
5 TX packets:1356 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:11 Base address:0xe400
Lo
Link encap:Local Loopback
10 inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:53175 errors:0 dropped:0 overruns:0 frame:0
TX packets:53175 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
دراین گزارش حتی آدرس سخت افزاری کارت شبکه eth0 هم مشخص شده 00:00:E8:3B:2D:A2 که در نوع خود با توجه با سادگی دستورات داده شده نتایج جالبی به نظر میرسد .
در این مرحله کارت شبکه فعال گردیده و آماده بکار میباشد و چون هیچ چیزی وجود ندارد که به هسته لینوکس بگوید که کدام بسته اطلاعاتی ارسال شده برروی شبکه به کدام کارت شبکه ارائه شود میبایست در ادامه برای آدرس دهی routing اینترفیس مربوطه در شبکه از دستور زیر یا مشابه آن باتوجه به آی پی مورد نظر هر کاربر استفاده کرد :
/sbin/route add -net 192.168.3.0 netmask 255.255.255.0 eth0 #
بطور کلی اختصاص چند آدرس آی پی به یک اینترفیس شبکه در مواردی صورت میگیرد که یک کارت بخواهد همزمان با چند شبکه LAN ارتباط برقرار کند و نبایستی فراموش کرد که پس از اختصاص یک آی پی جدید بایستی مسیردهی صحیح به این شبکه های جدید یا همان routing بصورت فوق الذکر بدرستی صورت پذیرد .
خاموش کردن و راه اندازی مجدد سیستم لینوکس
چنانچه سیستم خود را به طور صحیح خاموش کنید،Linux فایلهای داده را ذخیره کرده و فرآیندهای در حال اجرا را متوقف میکند ضمنا به هسته مرکزی سیستم عامل یا kernel آسیب وارد نخواهد شد.
در این بخش دو روش صحیح خاموش کردن سیستم، توضیح داده میشود:
1- از طریق رابط گرافیکی :X از دکمه منوی اصلی پانل، گزینه Logout را انتخاب کرده و سپسLogout ، Halt یا Reboot را انتخاب کنید .همچنین میتوانید پیکربندی جاری را ذخیره کنید، این کار بدین معنی است که برنامه هایی که هنگام Logout در حال اجرا هستند، زمان ورود مجدد به سیستم به طور خود کار اجرا خواهند شد.
اگر هر یک از گزینه های Halt یا Reboot را انتخاب کنید، باید کلمه عبور ورود به سیستم را بعد از زدن دکمه OK وارد کنید تا صحت انتخاب شما معلوم شود .
2 - از طریق اعلان فرمان :در یک پنجرهXterm ، فرمان shutdown - r now یا shutdown - h now را تایپ کنید -r .به معنی reboot و -h به معنی halt یا خاموش کردن کامل سیستم است، البته باید کلمه عبورتان را قبل از اجرای این فرامین وارد کنید .
3 - از طریق صفحه :login به Option=>System بروید و از آنجا میتوانید سیستمتان را halt یا راه اندازی مجدد کنید و نیاز به وارد کردن کلمه عبور ندارید.
یک میانبر برای راه اندازی مجدد
یکی از سریعترین روشها برای راه اندازی مجدد سیستمتان، فشردن همزمان کلیدهای
trl+Alt+Del c از یک کنسول مجازی است .
یک کنسول مجازی در واقع یک رابط مبتنی بر متن و برعکس رابط گرافیکی سیستم پنجرهای X است .چندین کنسول مجازی برای شما در دسترس هستند اما آسان ترین آنها از نظر به خاطرسپاری شاید روش میانبر باشد .شما میتوا نید به وسیله زدن کلیدهای Ctrl+Alt+F به آن دسترسی یابید .
بازگشت به رابط گرافیکی:
برای بازگشت به رابط گرافیکی از یک کنسول مجازی، فقط کلیدهای Ctrl+Alt+F1 را بزنید
برای راه اندازی مجدد سیستم از یک کنسول مجازی، ابتدا به وسیله زدن کلیدهای Ctrl+Alt+F1 به یک کنسول مجازی منتقل شوید، سپس کلیدهای Ctrl+Alt+Del را برای راه اندازی مجدد سیستم فشاردهید.
آشنایی با مفاهیم شبکه و پروتکلها
برای اینکه بدانیم در پشت این صفحه هایی که مدام در اینترنت عوض میکنیم چیزهایی قرار دارد و چه برنامه ها و پروتکلهایی این دنیا را برای ما بوجود آورده اند مقاله حاضر شروع خوبی خواهد بود.
در دنیای شبکه ها کلمه پروتکل به معنی قوا نینی است که برای انتقال پیامها بر روی شبکه وضع شده است بنابراین اینطور فکر کنید که یک پروتکل قانونی است که کامپیوترها برای صحبت کردن با یکدیگر بر روی شبکه باید رعایت کنند ، یک پروتکل شبکه باید دارای قوانین مربوط به اعلام وصول پیام ، پیدا کردن خطا و ساختار اطلاعات باشد .
برای درک بهتر پروتکل مثالی ساده می زنیم تا با مفهوم پروتکل کاملاً آشنا بشوید ، برای مثال وقتی شما بخواهید با یک نفر آلمانی صحبت بکنید و شما به زبان آلمانی تسلط ندارید و نه آن فرد به زبان فارسی مسلط است ولی هردو نفر به زبان انگلیسی مسلط هستند می توانند با این زبان با هم صحبت کنند و مطالب را به هم بفهمانند بنابراین در اینجا زبان انگلیسی پروتکلی بین آن دو نفر است و وظیفه پروتکل در شبکه هم همین است ، پروتکلها هستند که شبکه ها را تشکیل میدهند ، از آنحایی که TCP/IP عمومی ترین پروتکلی است که درحال حاضر در شبکه اینترنت از آن استفاده می شود قلب این درس مربوط به این پروتکل معروف است ولی قبل از آن قصد داریم تا توضیح مختصری راجع به مدل مرجع OSI و هفت لایه آن بدهیم .
در سال 1980 یک سازمان بین المللی استانداردسازی ، طرحی را بنامOpen System Interconnection(OSI) بوجود آورد که آن مدل براساس لایه بندی پروتکل پایه گذاری شده بود و کار این مدل به این صورت بود که وقتی دو کامپیوتر می خواهند با هم ارتباط برقرار کنند سریهایی از قسمتهای کوچک استاندارد نرم افزاری روی هر سیستم برای بهتر کردن این ارتباط عملیاتی انجام می دهند ، برای مثال یک قسمت برای حصول اطمینان از اینکه داده به طور مناسب بسته بندی شده است تلاش می کند و قسمت دیگر از فرستادن پیامهای گم شده به طور مجرد مراقبت می کند و قسمتهای دیگر نیز پیامها را در سراسر شبکه می فرستند .
هر کدام از این قسمتها که تحت عنوان لایه از آنها یاد می شود کار مشخصی برای انجام این ارتباطات دارند و به این قسمتهای ارتباطی که با هم استفاده می شوند پشته پروتکل یا Protocol Stack می گویند و به این دلیل که آنها شامل گروهی از این لایه ها هستند که به روی هم سوار شده اند . مدل OSI از هفت نوع از این لایه ها تشکیل شده که هر کدام نقش مشخص و معینی در انتقال داده ها در شبکه دارند که یادگیری کار این لایه ها برای درک مفهوم شبکه لازم و مفید است
مدل مرجع OSI
1 - لایه فیزیکی (Physical Layer) : این لایه تقریباً ساده ترین لایه است و بطور کلی کار این لایه ایجاد ارتباط بین دو تا Device است مانند ارتباط شما به وسیله مودم به ISP خودتان که در حقیقت این لایه به شما امکان ایجاد ارتباط بین دو وسیله الکترونیکی را میدهد .
2- لایه پیوند داده ها (Data link layer) : این لایه بسته ها و پیامها را در طول شبکه از هر کامپیوتر به سیستم دیگر انتقال و حرکت میدهد ، برای مثال این لایه ها روی کامپیوتر بسته ها را از کامپیوتر شما به مسیریاب شبکه محلی شما حرکت میدهد و بعد Router با استفاده از این لایه داده را به مسیریاب بعدی ا نتقال میدهد ، قسمتی از برنامه های Firewall یا دیواره آتش که کار محافظت از سیستمها را با کنترل رفت و آمد بسته ها انجام میدهند بر روی این لایه پیوند داده ها نگهداری میشوند و همینطور تمامی برنامه های Sniffer و یا ردیابها از این لایه برای دزدیدن اطلاعات کارت اعتباری و رمزهای عبور استفاده میکنند .
3- لایه شبکه (Network Layer) : این لایه به پروتکل اینترنت یا IP وابسته است و هدف آن فرستادن پیامها از کامپیوتر منبع داده شده به ماشین یا سیستم نهایی داده شده در طول شبکه میباشد و در کل این لایه مشخص میکند که هر بسته یا Packet به کدام آدرس اینترنتی یا آی پی مرتبط است ، برنامه هایی مانند Ping و یا Netstat از این لایه استفاده میکنند .
4- لایه انتقالی (Transport Layer) : این لایه اطمینان حاصل میکند که بسته ها به مکان مناسب روی سیستم مقصد تحویل داده شده اند یا خیر و این لایه برای تهیه جریان ارتباطی قابل اعتماد بین دو سیستم که شامل انتقال دوباره پیامهای گم شده , قرار دادن آنها درجای مناسب و نظارت و بازرسی خطاها استفاده میشود و دراین لایه پروتکل کنترل انتقال TCP و پروتکل دیتاگرام کاربر یا همان UDP و همینطور پروتکل SPX 3 قرار دارند و از مهمترین نمادهای این لایه بشمار میروند .
5- لایه جلسه (Session Layer) : کار و فعالیت این لایه نسبت به لایه های دیگر کمتر است و این لایه نشستهایی را بین ما شینهای ارتباطی با کمک به شروع نگهداری و مدیریت آنها هماهنگ میکند .
6- لایه نمایشی (Presentation Layer) : این لایه کار ترجمه اطلاعات را برعهده دارد و برای مثال اگر شما قصد ایجاد شبکه VPN بین دو سیستم را داشته باشید این لایه اطلاعات را EBCDIC به ASCII کراکتر تبدیل و ترجمه میکند و یا برعکس .
7- لایه برنامه کاربردی (Applictation Layer) : این لایه یکی از مهمترین لایه های OSI هست و به عنوان پنجره ای به کانال ارتباطی برای برنامه کاربردی و البته با توصیف داده ها و تبدیل آنها به اطلاعات با مفهوم برای برنامه های کاربردی عمل میکند و متشکل از برنامه های خاصی است که سعی میکنند با استفاده از TCP/IP در طول شبکه باهم ارتباط برقرار کنند ، برنامه هایی مانند سرور و کلاینت Telnet - سرور و کلاینت FTP و Http و Netbios و Mail سرورها و خیلی از برنامه های کاربردی در این لایه قرار دارند و به همین دلیل این لایه مورد علاقه هکرهاست و اکثراً نفوذ به سایتها و سرورها از طریقه حفره های آسیب پذیر در این برنامه های کاربردی صورت میگیرد
توصیه های مهم امنیتی در مورد یونیکس و لینوکس
سیستم عامل، یکی از عناصر بسیار مهم و حیاتی در نحوه مدیریت منابع سخت افزاری و نرم افزاری است . پرداختن به مقوله امنیت سیستم های عامل ، همواره از بحث های مهم در رابطه با ایمن سازی اطلاعات در یک سیستم کامپیوتری بوده که امروزه با گسترش اینترنت ، اهمیت آن مضاعف شده است . بررسی و آنالیز امنیت در سیستم های عامل می بایست با ظرافت و در چارچوبی کاملا" علمی و با در نظر گرفتن تمامی واقعیت های موجود ، انجام تا امکان نگهداری و پشتیبانی سیستمها با در نظر گرفتن مجموعه تهدیدات موجود و آتی ، بسرعت و بسادگی میسر گردد .اکثر حملات موفقیت آمیز در اینترنت ، بدلیل وجود نقاط آسیب پذیر در تعدادی اندک از سرویس های سیستم های عامل متداول است . مهاجمان ، با فرصت طلبی خاص خود از روش های متعددی بمنظور سوء استفاده از نقاط ضعف امنیتی شناخته شده ، استفاده نموده و در این راستا ابزارهای متنوع ، موثر و گسترده ای را بمنظور نیل به اهداف خود ، بخدمت می گیرند . مهاجمان ، در این رهگذر متمرکز بر سازمان ها و موسساتی می گردند که هنوز مسائل موجود امنیتی ( حفره ها و نقاط آسیب پذیر ) خود را برطرف نکرده و بدون هیچگونه تبعیضی آنان را بعنوان هدف ، انتخاب می نمایند پس با شناسائی و آنالیز اینگونه نقاط آسیب پذیر توسط کارشناسان امنیت اطلاعات ، سازمان ها و موسسات قادر به استفاده از مستندات علمی تدوین شده بمنظور برخورد منطقی با مشکلات موجود و ایجاد یک دیوار حفاظتی مناسب می باشند.
لینوکس و یونیکس ، از سیستم های عامل رایج در جهان بوده که امروزه در سطح بسیار وسیعی استفاده می گردد . تا کنون حملات متعددی توسط مهاجمین متوجه سیستم هائی بوده است که از یونیکس ( نسخه های متفاوت ) بعنوان سیستم عامل استفاده می نمایند . با توجه به حملات متنوع و گسترده انجام شده ، بایستی نحوه مقابله با این حملات و تهدیدات شناخته شده و راههای نفوذ سریعا ترمیم گردد و کاملا مسدود گردد .
عوامل متعددی در بروز اینگونه حملات نقش دارد: عدم آگاهی لازم مدیران سیستم در خصوص ارتقاء امنیتی سیستم هائی که بر روی آنان نرم افزارهای مدیریت اطلاعات شبکه نصب یا بصورت غیر ضروری اجراء می گردد و پیکربندی نامناسب برنامه ها ، نمونه هائی از عوامل فوق بوده و می تواند زمینه یک تهاجم از نوع DoS ، یک Buffer Overflow را فراهم سازد .
بمنظور حفاظت سیستم و ترمیم سریعتر نقاط آسیب پذیر موارد زیر پیشنهاد می گردد :
• همیشه آخرین نسخه نرم افزارها ارائه شده را دریافت و آن را بر روی سیستم نصب نمائید.
• بمنظور بهنگام سازی سیستم بایستی از تمامی Patch های ارائه شده توسط تولید کنندگان استفاده و در صورت امکان آن نرم افزار را به آخرین نسخه موجود ارتقاء دهید . برای دریافت اطلاعات تکمیلی از مقالات ارائه شده درسایت امنیتی CERT و بخش UNIX Security Checklist ، استفاده نمائید .
• فایروال موجود برروی سیستم را دقیقا نصب و با توجه به نیازهای امنیتی خود در سطح مناسب پیکربندی نمائید .
• پورت های غیر ضروری یا در معرض تهدید را در سطح روتر و یا فایروال با توجه به توصیه های امنیتی موجود در رفرانسهای امنیتی بلاک block نمائید .
• آندسته از نرم افزارهای غیر ضروری که بصورت پیش فرض هنگام نصب سیستمهای عامل نصب میگردند و هیچ گونه استفاده عملی ندارند را غیر فعال نمائید.
• بمنظور پیچیده تر نمودن حملات اتوماتیک و یا جلوگیری از پویش غیر مجاز سیستم توسط مهاجمین ، به توصیه های امنیتی تهیه کنندگان نرم افزارها در سایتهای مربوطه یا سایر سایتهای امنیتی لینوکس و یونیکس دقیقا عمل کنید و هیچ نکته ای را از قلم نیندازید.
• اکیدا استفاده از account هائی با رمز عبور ضعیف و یا فاقد رمز عبور را مسدود کنید . چون رمز عبور دارای نقشی حیاتی و اساسی در ایجاد اولین سطح دفاع در یک سیستم اطلاعاتی بوده و از دست رفتن رمز عبور و یا ضعف آن می تواند سیستم را در معرض تهدیدات جدی قرار دهد . مهاجمان پس از دستیابی به رمز عبور کاربران تائید شده ( استفاده از مکانیزم های متفاوت ) قادر به دستیابی منابع سیستم و حتی تغییر در تنظیمات سایر account های تعریف شده و موجود بر روی سیستم خواهند بود،عملیاتی که می تواند پیامدهای بسیار منفی را بدنبال داشته باشد .
در صورتیکه از account هائی استفاده می شود که بین کاربران متعدد و یا کارکنان موقت یک سازمان به اشتراک گذاشته شده و یا کاربران از رمزهای عبور بدرستی حفاظت ننمایند، پتانسیل نفوذ به شبکه توسط یک مهاجم فراهم می گردد.
• از یک برنامه پویشگر بهنگام شده که قادر به بررسی دقیق سیستم های رایانه ای بمنظور تشخیص نقاط آسیب باشد استفاده کنید. ( استفاده از نرم افرارها یا سایتهای خاص )
• با عضویت در گروه های خبری نظیر Symantec برای آگاهی از آخرین هشدارهای امنیتی اطلاعات خود را بهنگام نگاه دارید .
• پیاده سازی و استفاده از امکانات رمزنگاری نظیر OpenSSH درسرویسهای شبکه نظیر telnet ، SMTP ، POP3، IMAP ، rlogin ، HTTP ، و ....
مراحل BOOT یا آغاز کاریک سستم عامل گنو /
لینوکس - 2
(در ادامه مقاله قبلی) : هسته kernel سیستم عامل لینوکس سپس هریک از برنامه های کاربردی خود و نصب شده روی سیستم را یکی پس از دیگری اجرا نموده و در صورتی که در مورد هر برنامه ها همه چیز درست کارکند برنامه بعدی را به اجرا می گذارد.
در مرحله نخست هسته kernel میبایست فایل initrd یانامی مشابه حاوی عبارت init را به اجرا گذارد که حاوی اطلاعات مهمی مثل نام برنامه های کاربردی و فایلها و یا سایر موضوعات مرتبط با کامپیوتر است.
بعد از اینکه هسته کرنل فایل init را به اجرا گذاشت دیگر هیچ برنامه دیگری را اجرا نخواهد کرد و مدیریت عملیات سیستم را کاملا بعنوان مدیر سرویس دهنده کامپیوتر و نه بعنوان یک برنامه اجرا شده بدست می گیرد.
برای اینکه ببینیم بعداز مراحل بالاآمدن هسته سیستم عامل کامپیوتر چه عملیاتی را انجام میدهد باید نگاهی به مراحل اجرای init بیندازیم . درحال عادی init کامپیوتر را وامیدارد که وارد یک سری عملیات پیچیده شود که در انواع کامپیوترها باهم متفاوت خواهند بود .
برای لینوکس نسخه های متفاوتی از init وجود دارد که هر نسخه یک سری عملیات خاص خودرا انجام میدهد . این عملیات بستگی کامل به نوع توزیع مورد استفاده در هنگام نصب لینوکس و قرارگرفتن یا نگرفتن کامپیوتر برروی شبکه network دارد . در هر صورت تعدادی از عملیات روتین که موقع اجرای کدهای init برروی کامپیوتر به اجرا گذاشته میشوند عبارتند از :
• سیستم فایل مورد استفاده برروی هاردیسک بررسی میشود . فایل سیستم ها مثل EX3 یا EX2 یا FAT به کرنل خواهند گفت که چه قسمتی از هارد دیسک حاوی اطلاعات و چه قسمتی شامل فضای خالی است . متاسفانه بنابه دلائلی همچون قطع ناگهانی جریان برق ممکن است فایل سیستم در شناسائی فضای آزاد یا استفاده شده هارددیسک دچار اشتباه شده و این خطا به از دست رفتن دائمی اطلاعات منجر گردد . (به همین دلیل است که ماهرگز نباید کامپیوتر خودرا بدون طی مراحل استاندارد shut down خاموش کنیم) . البته تعدادی برنامه اختصاصی مثل fsck برای تصحیح خطاهای ایجاد شده در این قبیل موارد طراحی گردیده و سیستم لینوکس یا کاربران آن بصورت دستی یا اتوماتیک خواهند توانست تاحد زیادی این خطاهای ایجاد شده را ترمیم کنند .
• برنامه های مسیر یاب routing شبکه برای کاربرروی شبکه اجرا میگردند .
• فایلهای موقت temporary ایجاد شده توسط برخی برنامه های کاربردی پاکسازی میشوند .
• ساعت و تقویم سیستم system clock با اطلاعات موجود از طریق GMT و ساعت بایوس به روز میگردد . در این مرحله ساعت بومی تنظیم شده برروی سیستم شما در اولویت قرار دارد .
بعد از به اتمام رسیدن فعالیتهای init و انجام روندهای مشابه فوق الذکر در پروسه boot-up به مرحله اجرا و انجام پروسه ها و برنامه های زمان بندی شده میرسیم .
در این مرحله نقش init بعنوان سرپرست parent سایر روندها در سیستم لینوکس قطعی است .
در unix یک پروسه را به سادگی میتوان با اجرای یک برنامه مقایسه کرد و چون هربرنامه بارها و بارها میتواند اجرا شود و نقشهای متفاوتی را بعهده بگیرد پس دویا چند پروسه را میتوان برای یک برنامه واحد مشاهده کرد .باید اذعان کرد که تعداد بسیار زیادی پروسه و زیر پروسه ها در این مرحله به اجرا گذاشته میشوند . بعنوان مثال یکی از پروسه های احضار شده Fork نام دارد و پروسه Fork خود شامل پروسه های متعدد دیگری در داخل خود میباشد .
نصب سیستم عامل لینوکس وفارسی نویسی در محیط لینوکس :
سیستم عامل قدرتمند و جذاب لینوکس خصوصا redhat مقاله حاضر را که در خصوص چگونگی نصب و فارسی نویسی در لینوکس بوده و حاصل کاوشهای بسیار و گزینش بهترین موضوعات در اینترنت است ..
هشدار : اگر شما مایلید از سیستم عامل ویندوز و لینوکس بصورت در کنار هم در یک سیستم استفاده کنید، سعی کنید ابتدا ویندوز را نصب نموده و سپس لینوکس ردهت را نصب نمایید. برخی از نسخه های ویندوز با دستکاری MBR دیسک سخت باعث میشوند تا لینوکس ردهت از کار بیافتد. اگر ویندوز یا لینوکس ردهت را نصب کردید و پس از نصب متوجه شدید که یکی از سیستم عاملها کار نمی کند، هول نشده و عملیات نصب را مجددا انجام ندهید. شما میتوانید این اشکال را با بوت توسط دیسک بوت لینوکس ردهت و با استفاده از فرامین نصب گراب یا لیلو سیستم عامل مورد نظر را فعال نموده و این اشکال را برطرف نمایید. در صورتی که قادر به این کار نیستید از یک حرفه ای کمک بگیرید.