۱۳۸۶ دی ۹, یکشنبه

سربازی و قطع کردن صدای بوق لینوکس

بعد از سالها فرار از سربازی بالاخره مجبور به رفتن شدم و 2 روز آینده دفترچه رو پست می کنم, بقول بچه ها ایندفعه شتر در خونه نخوابیده بلکه روت خوابیده که راه فرار تداشته باشی!
چند روز پیش یه جایی بودیم که من مسئول نصب یه برنامه شدم در ترمینال.....هی بوق می زد و ملت چپ چپ نگاه می کردن....منم نمیدونم چرا بفکر همه چیز بودم جز این دستور
setterm -blength 0

بعضی وقتها مغز آدمم میره تعطیلات دیگه
راستی هر کس راهی برای راحت گذراندن سربازی بلده از همین الان اعلام کنه

راستی اون دستوره برای دبین و آبانتو فقط کار میکنه,برای ردهت و فدورا این دستور هست که معمولا میزارن توی /etc/inputrc

set bell-style none

UMask چیست؟

UMask مخفف User file creation mode mask می باشد.UMask در خانواده های یونیکس و لینوکس یک متغییر محیطی است که مجوز دسترسی فایل و دایرکتوری هایی که جدیدا ساخته می شوند را تعیین می کند و بعبارت دیگر بواسطه UMask می توانیم مجوز دسترسی فایل های جدید را شناسایی کنیم.

در هنگام استفاده از UMask با توجه به تعریف بالا ممکن است دچار اشتباه شویم , از آنجاییکه با UMask هر آنچه از مجوزها را که نمی خواهیم به کاربران و گروه ها اختصاص دهیم مشخص می کنیم ; در واقع شبیه ماسک عمل می کند.

UMask همچون مجوزهای دسترسی عددی octal یا هشت هشتی (در مبنای هشت) می باشد.

برای بدست آوردن میزان مجوزهای دسترسی که به فایل و دایرکتوری ها اختصاص پیدا می کند , می بایست مقدار UMask را از مقدار پیش فرض مجوزها ی فایل ها و دایرکتوری ها کم کنیم.این مقادیر بدین شرح می باشند :

مجوز برای
مقدار پیش فرض
فایل
666
دایرکتوری
777

محاسبات بدین شکل صورت می گیرد :

Formula : 6668 AND NOT ( UMask-value8 ) = Newly file permission
Formula : 7778 AND NOT ( UMask-value8 ) = Newly directory permission

همانطور که مشاهده می کنید , اعداد را در مبنای هشت از یکدیگر کم می کنیم.

مقدار پیش فرض UMask برای کلیه کاربران در فایل etc/profile/ مشخص شده است و برابر با 022 می باشد , پس :

مجوز دسترسی دایرکتوری های جدید = 0228 - 7778 = 7558 (rwxr-xr-x)
مجوز دسترسی فایل های جدید = 0228 - 6668 = 6448 (--rw-r--r)

به شکل زیر توجه کنید(1)


می توانید UMask پیش فرض را تغییر دهید , برای تغییر UMask کلیه کاربران فایل etc/profile/ را ویرایش کنید و برای تغییر UMask یک کاربر خاص , فایل profile. یا bash_profile. واقع در پوسه خانگی کاربر را ویرایش می کنیم.


مقدار جدید UMask بستگی به سیاست امنیتی شما دارد.برای امنیت بیشتر توصیه می شود که UMask کاربر ریشه برابر با 077 باشد تا مجوز خواندن , نوشتن و اجرا کردن فایل ها و دایرکتوری ها برای دیگر کاربران غیر فعال شود و در صورت نیاز به مجوز دسترسی خاص برای یک کاربر , می توانید با استفاده از دستور chmod این مجور را واگذار کنید.


همچنین می توانید UMask را بطور موقت با دستور umask تغییر دهید , فرضا برای ساختن تعداد زیادی فایل و دایرکتوری با مجوز خاص و متفاوت از مجوز پیش فرض.

umask value

به شکل زیر توجه کنید (2)


مثالی برای درک بهتر :

فرض کنید مقدار UMask را برابر با 174 قرار داده اید ; در این حالت مجوز دسترسی برای فایل ها و دایرکتوری جدید چه مقدار است ؟

جواب :

فایل های جدید دارای مجوز 602 و دایرکتوری های جدید مجوز 603 را به خود اختصاص می دهند.

محاسبه :

File : 6668 AND NOT (1748) = 6028
Directory : 7778 AND NOT (1748) = 6038
7778 = ( 111 111 111 )2
1748 = ( 001 111 100 )2
NOT ( 001 111 100 )2 = ( 110 000 011 )2
( 111 111 111 )2 AND ( 110 000 011 )2 = ( 110 000 011 )2

همانطور که مشاهده می کنید از AND منطقی برای محاسبه استفاده کردیم.

1 0 *
0 0 0
1 0 1

توضیح :

همانطور که قبلا اشاره شد , UMask مجوزهایی که اعمال نخواهد شد را نشان می دهد , پس از 174 چه چیزی دستگیرمان می شود؟

با توجه به جدول زیر مجوزهایی که اعمال نمی شوند را مشخص می کنیم :

O G U *
4 4 4 R
2 2 2 W
1 1 1 X
7 7 7 SUM

کاربر (مالک) : 1 : اجرا کردن(x)

گروه : 7 : خواندن(r), نوشتن (w) , اجرا کردن (x)

دیگران : 4 : نوشتن (w) , اجراکردن(x)



O G U *
4 4 4 R
2 2 2 W
1 1 1 X
4 7 1 SUM

(نجوه محاسبه UMask :
با توجه به این مثال به نحوه محاسبه UMsask پی بردیم , کافیست در جدول مجوزهایی که خواهان اعمال آنها نیستیم را مشخص و با هم جمع کنیم , همانند مثال بالا)

بالا مجوزهایی که اعمال نمی شوند رو مشخص کردیم , حال مجوزهایی باقی مانده را با هم جمع و سطح دسترسی را حساب می کنیم

سطح دسترسی دایرکتوری :

O G U *
4 4 4 R
2 2 2 W
1 1 1 X
3 0 6 SUM
سطح دسترسی فایل :


O G U *
4 4 4 R
2 2 2 W
1 1 1 X
2 0 6 SUM

نکته :
برای محاسبه مجوز دسترسی فایل های جدید , همانطور که قبلا اشاره شد , مجوز پیش فرض 666 می باشد , پس در محاسبات مجوز مربوط به اجرا شدن (x) را حساب نمی کنیم.

منابع کمکی :

tech-faq.com
linuxsecurity.com
cyberciti.biz
wikipedia.org

۱۳۸۶ آذر ۹, جمعه

معرفی یک وبلاگ توپ

سلام
دوست خوبم ایمان منصوری یک وبلاگ توپ براس سیسکو راه انداخته که نکات شیرین و باحال سیسکو که تقریبا کمتر جایی بهش بر می خورین رو مطرح کرده , توصیه می کنم حتما سر بزنید
http://cisco-net.blogfa.com
ایمان منصوری از معدود افرادی هست که به ریزه کاری ها آشنایی داره...
انشاله در تمام مراحل زندگی موفق باشه

۱۳۸۶ آذر ۳, شنبه

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

ممکن است برای هر کدام از ما پیش آمده باشد که پسورد کاربر ریشه یا Root را فراموش کرده ایم و برای انجام وظایف مدیریتی سیستم شدیدا به آن محتاج باشیم ; در این زمان است که می توان با استفاده از مد نجات (rescue mode) براحتی پسورد را بازیابی کرد.
ممکن است با دیدن این آموزش ها تصور کنید که برای بازیابی پسورد در انواع مختلف لینوکس, روش ها متفاوت از یکدیگر می باشند , این در حالیست که اصول یکیست ولی ممکن است شیوه اجرا متمایز باشد.

بطور خلاصه می توان مراحل بازیابی پسورد را این چنین شرح داد :
  1. تنظیم سیستم برای بوت از روی CD یا DVD
  2. اجرا در مد نجات ( Rescue mode )
  3. پیدا کردن پارتیشن ریشه و مونت کردن آن - این مرحله در بعضی بصورت خودکار انجام می شود
  4. تغییر ریشه ( Chroot )
  5. تغییر پسورد ( Passwd )
  6. شروع مجدد سیستم ( Reboot )
Debian Root password recovery

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید

لینک های پشتیبان

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید




Ubuntu Root password recovery

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید

لینک های پشتیبان

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید



Fedora Root password recovery

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید

لینک های پشتیبان

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید



OpenSUSE Root password recovery

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید

لینک های پشتیبان

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید

۱۳۸۶ آذر ۱, پنجشنبه

قیمت امتحانات بین المللی لینوکس

Last time we checked (2007) the exam prices (in $US) for these Linux certifications are:
Linux+ $232 ($186 for CompTIA members)
LPIC exams: $100 each
CLP exam: $195
CLE exam: $195
RHCT exam: $349
RHCE exam: $749
RHCA exams: 5 exams at $749 each (unless purchased in a bundle)
RHCSS exams: 3 exams at $749 each (unless purchased in a bundle)

http://www.gocertify.com/faq/linuxfaq2.shtml#FAQ3

یکی از دوستام گفت تو دبی rhce گرفته..حالا تو این سایت نوشته فقط تو آمریکا میشه امتحانات ردهت رو داد!

۱۳۸۶ آبان ۲۷, یکشنبه

همچون یک روبات جستجوگر گوگل در اینترنت گشت و گذار کنید!

عنوان انتخابی من شما را به چه فکری می بره؟
می پریسن این کار به چه دردی می خوره؟

حتما تا حالا توی گوگل دنبال یک برنامه یا هرچیز دیگه سرچ کردین....احتمالا به سایتهایی برخورد کردین که گوگل میگه اون چیزی که شما می خواین اینجاست ولی وقتی شما روی اون کلیک می کنید , پیغام میده حتما باید ثبت نام و به سایت وارد بشید!
مثل این :
http://www.warezasaur.us/forum/index.php?showtopic=15470
بهتون میگه
Sorry You need atlease 3post to view this section.

(اگر در مشاهده صفحه مشکل دارین , برین اینجا برای حل مشکل..من این سایت رو تست زدم)
پیش خودتون فکر کردین چطوری روبات های گوگل به اون صفحه دسترسی داشتن بدون ثبت نام ولی شما نه؟

حالا بهتون میگم....تا حالا سایتهایی که آمار سایتها رو نشون میدن , دیدین؟..مثلا نوشته 70 % از IE استفاده کردن , 20% از Firefox و...
نکته تو همینه....مرورگر خودش رو معرفی می کنه...IE میگه من Internet Explorer هستم و بقیه هم به این ترتیب
روبات های گوگل هم پس خودشون رو Google bot معرفی می کنند....حالا ما برای دسترسی راحت به اون سایتها بهشون کلک می زنیم و خودمون رو روبات گوگل معرفی می کنیم!..به چه ترتیب :
من از Firefox استفاده می کنم و خیلی راخت میشه باهاش این کار و انجام داد ولی IE باید رجستری رو دستکاری کرد.
برای Firefox در محل وارد کردن آدرس سایتها این و وارد کنید :
about:config
حالا یه لیستی از تنظیمات این مرورگر باز میشه , ولی ما با general.useragent.extra.firefox کار داریم , پس توی کادر Filter بنویسید general تا راحتتر این گزینه رو پیدا کنید.
حالا روش 2 بار کلیک کنید و در کادری که باز میشه بجای نوشته های قبلی , متن زیر رو جایگزین کنید :
Googlebot/2.1 (+http://www.googlebot.com/bot.html)

به این شکل توجه کنید

اینم برای IE:
کد زیر رو در notepad کپی کنید و به این نام دخیره کنید(با " ها کپی کنید)
"bor.reg"

و کد :
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent]
@="Googlebot/2.1"
"Compatible"="+http://www.googlebot.com/bot.html"

و برای برگردوندن به حالت پیش فرض :
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent]
@="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

کد IE رو از این سایت گرفتم.

خوب حالا دوباره اون سایت رو تست کنید(برنامه کاربردی در این لینک هست)
خوب حالا برید گوگل بازی

این کار همیشه هم بدرد بخور نیست , چونکه بعضی سایتها بالعکس دسترسی روباتهای گوگل به سایتشون رو بستن , پس مواظب باشید!
موفق باشید

۱۳۸۶ آبان ۲۴, پنجشنبه

نحوه فعال کردن TCP/IP Forwarding در ویندوز

Enabling TCP/IP Forwarding
1. Use Registry Editor (Regedt32.exe) to view the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
2. Set the following registry value:
Value Name: IPEnableRouter
Value type: REG_DWORD
Value Data: 1
NOTE: A value of 1 enables TCP/IP forwarding for all network connections installed and used by this computer.

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q2

۱۳۸۶ آبان ۲۲, سه‌شنبه

بازیابی پسورد root در opensuse

بد ندیدم در ادامه آموزش
"آموزش تصویری بازیابی پسورد کاربر ریشه در لینوکس"
روش عوض کردن برای OpenSUSE هم بگم که یه نکته ریز هم داره
برای مشاهده به اینجا بروید

۱۳۸۶ آبان ۲۱, دوشنبه

دسترسی به پارتیشن های لینوکسی در ویندوز

در سیستم هایی که ویندوز و لینوکس را در کنار یکدیگر نصب می کنیم , گاها مواردی رخ می دهد که نیاز داریم به پارتیشن های سیستم عامل دیگر دسترسی داشته باشیم و از روی ضرورت مجبور به ریبوت کردن سیستم و رفتن به سیستم عامل دیگر جهت دستیابی به اطلاعات مورد نیاز هستیم.
در این آموزش به نحوه دسترسی پارتیشن های لینوکس در ویندوز می پردازیم و ابزارهای لازم جهت رسیدن به این هدف را معرفی می کنیم.
در لینوکس از فایل سیستم های مختلفی جهت فرمت کردن پارتیشن ها بهره می بریم و از این رو برای دسترسی به فایل سیستم های متفاوت , ابزارهای گوناگون , متناسب با فایل سیستم را مورد استفاده قرار می دهیم.
معمول ترین فایل سیستم مورد استفاده Ext2 و نسخه جدید آن Ext3 می باشد. در این آموزش علاوه بر 2 پارتیشن مذکور , نحوه دسترسی به فایل سیستم ReiserFS را هم مورد بررسی قرار می دهیم.

1 - Ext2 IFS

سایت مرجع :
http://www.fs-driver.org

سیستم عامل هایی قابل استفاده :

Windows NT4.0/2000/XP/2003 (x86 processors only)

فایل سیستم های قابل دسترسی :

Ext2 , Ext3

لینک دانلود :
http://www.fs-driver.org/download/Ext2IFS_1_10c.exe

این ابزار دسترسی خواندن و نوشتن جهت دستیابی به فایل سیستم های Ext2 و Ext3 را بطور کامل مهیا می کند و حتی به ویندوز اجازه می دهد تا فایل حافظه مجازی سیستم (paging file) را از این فایل سیستم ها اجرا کند.

معایب این ابزار :
  • از بین رفتن سطوح دسترسی تعریف شده برای فایل ها و دایرکتوری ها
  • نشان دادن فایل های مخفی همچون سایر فایل ها
  • عدم دسترسی به برخی فایل های ویژه از قبیل sockets , soft links , block devices و..
  • عدم پشتیبانی از Defragment
  • و از همه مهمتر , عدم دسترسی به پارتیشن های LVM

نصب برنامه :
نصب این برنامه همانند هر برنامه دیگر در ویندوز می باشد , برای مشاهده مراحل نصب به شکل های زیر توجه کنید:

شکل 1-1
شکل 2-1


در این مرحله (شکل3-1) انتخاب می کنیم که آیا بتوانیم از فایل های بزرگتر از 4 گیگابایت استفاده کنیم یا خیر

شکل 3-1

در این مرحله(شکل 4-1) برای پارتیشن ها باید نام درایو انتخاب کنیم

شکل 4-1
شکل 5-1
شکل 6-1


نصب به پایان رسید.

اگر برای درایوها در حین نصب نام انتخاب نکرده اید , می توانید به آیتم IFS Drive در کنترل پنل سیستم مراجعه کنید و تغییراتی از قبیل حذف , مدیریت یا اضافه کردن نام درایوها را انجام دهید.

شکل 7-1
شکل 8-1


من حرف L را برای این پارتیشن در نظر می گیرم , حال برای دسترسی به آن می توانیم از My computer اقدام کنیم :

شکل 9-1
شکل 10-1

می توانیم برای دیدن مشخصات پارتیشن بر روی اسم درایو راست کلیک کرده و properties را انتخاب می کنیم :

شکل 11-1

همانطور که مشاهده می کنید , تمامی اطلاعات از جمله فایل سیستم مورد استفاده را نشان می دهد.

اطلاعات بیشتر :
http://www.fs-driver.org/faq.html





Explore2fs - 2
سایت مرجع :
http://www.chrysocome.net/explore2fs

فایل سیستم های قابل دسترسی :
Ext2 , Ext3

سیستم عامل هایی قابل استفاده :
  • Windows 95
  • Windows 98
  • Windows 98SE
  • Windows ME
  • Windows NT 4.0
لینک دانلود برای سیستم عامل های لیست شده در بالا :
http://www.chrysocome.net/downloads/explore2fs-1.06.zip

  • Windows 2000
  • Windows XP
  • Windows XP SP2
  • Windows Server 2003
لینک دانلود برای سیستم عامل های لیست شده در بالا :
http://www.chrysocome.net/downloads/explore2fs-1.07.zip

این برنامه نسبت به برنامه قبلی دارای یک سری برتری ها و ضعف ها می باشد ,برتری ها از قبیل اینکه احتیاج به نصب ندارد و پارتیشن های LVM را هم بدون مشکل شناسایی می کند و ضعف عمده در عدم اجازه نوشتن در پارتیشن مورد نظر می باشد.ویژگی این نرم افزار را در زیر بنا به گفته سایت سازنده نقل می کنم.

شکل 1-2

قابلیت ها :
  • Reads ext2
  • Reads ext3
  • Drag & Drop
  • 1.44Meg Floppy Disk Support
  • LS120 Floppy Disk Support
  • ZIP & Jazz Disk Support
  • USB & CF Disk Support
  • CDROM Support
  • Supports Windows 98 extended partition scheme
  • Export files as binary
  • Export files as text
  • Export directory
  • View/Execute file
  • Large disk support
  • Large file support
  • LVM2
  • ReiserFS Detection
  • Unicode UTF8 support
  • Preserve time stamps on export



3- Virtual Volumes

سایت مرجع :
http://www.chrysocome.net/virtualvolumes

فایل سیستم های قابل دسترسی :
Ext2 , Ext3 , ReiserF

سیستم عامل هایی قابل استفاده :
Supported by all versions of Windows (Vista is still Work In Progress)


لینک دانلود :
http://www.chrysocome.net/downloads/vv-0.3-install.exe

این برنامه نسخه جدید و از نو طراحی شده Explore2fs می باشد , با قابلیت های بسیار بیشتر که می توانید با هم مقایسه کنید.در ضمن بر خلاف ورژن قبل که احتیاج به نصب نداشت , این نسخه جدید را باید نصب کنید.هیچ نکته ای در زمان نصب وجود ندارد و همانند هزاران نرم افزار دیگر نصب می شود.
بعد از نصب باید سیستم را Restart کنید.

قابلیت ها طبق گفته سایت سازنده :
  • Supported by all versions of Windows (Vista is still Work In Progress)
  • Read and Write LVM2 (linear stripes only)
  • Read and Write EXT2/EXT3 (e2fsprogs/libext2fs)
  • Read ReiserFS (rfstools)
  • Read and Write Win32 filesystems (Win32 API)
  • Read FAT12/FAT16/FAT32 without using Win32
  • Read and Write software RAID0, RAID1 and RAID5
  • Read and Write via SFTP
  • Read and Write VMWare disks
  • VFS allows mounting on subdirectories
  • VFS abstraction allows multiple filesystems to be supported
  • VFS abstraction allows network filesystems like ftp, http and scp to be supported
  • Command line interface
  • Drag & Drop GUI
  • Auto detect available filesystems for GUI quickstart



4 - YAReG
سایت مرجع :
http://yareg.akucom.de

فایل سیستم های قابل دسترسی :
ReiserFS

لینک دانلود :
http://yareg.akucom.de/download.cgi/YAReG-1.0.zip
لینک بالا دربردارنده rfstool نیز می باشد.
Microsoft .NET framework 1.1, & Microsoft .NET framework 2.0


این برنامه در حقیقت یک رابط گرافیکی برای ابزار RFStool جهت دسترسی به فایل سیستم های ReiserFS می باشد.از ویژگی های این نرم افزار , عدم نیاز به نصب , قابلیت drog and drop فایل ها و دایرکتوری ها و دسترسی آسان به پارتیشن ها می باشد.
برای استفاده از این برنامه به علت .NET بودن آن , می بایست Microsoft .NET framework را نصب کنید.همچنین می بایست یک کپی از rfstool در دایرکتوری برنامه موجود باشد که در لینک دانلود این موضوع در نظر گرفته شده است.

شکل 4-1

برای فایل های با حجم بیشتر از 10 مگابایت , بهتر است که از drog and drop استفاده نکنید.
وقتی که فایل یا دایرکتوری را drog and drop می کنید , ابتدا در یک پوشه موقت از پارتیشن لینوکسی خارج می شوند , شما می توانید از طریق فایل YAReG.exe.config محل این پوشه موقت را تعیین کنید.


5 - Linux Reader
سایت مرجع :
http://www.diskinternals.com/linux-reader

سیستم عامل هایی قابل استفاده :
9x/ME/NT4.0/2000/XP/2003/Vista (Intel-compatible platform)

فایل سیستم های قابل دسترسی :
Ext2 , Ext3

لینک دانلود :
http://www.diskinternals.com/download/Linux_Reader.exe

این ابزار فقط قابلیت خواندن پارتیشن های Ext2 و Ext3 را داراست و فاقد امکان نوشتن در پارتیشن ها می باشد.از ویژگی این نرم افزار امکان نمایش preview عکس ها می باشد و همچنین فایل با هر نوع سایز را پشتیبانی می کند.
با استفاده از این ابزار و البته ابزارهای قبلی هیچ کدام از سطوح دسترسی که برای فایل ها و دایرکتوری ها تنظیم شده , اعمال نمی شود.

شکل 5-1

معایب این ابزار :

  • از بین رفتن سطوح دسترسی تعریف شده برای فایل ها و دایرکتوری ها
  • نشان دادن فایل های مخفی همچون سایر فایل ها
  • و از همه مهمتر , عدم دسترسی به پارتیشن های LVM

اطلاعات بیشتر :
http://www.diskinternals.com/linux-reader

۱۳۸۶ آبان ۸, سه‌شنبه

حل مشکل نصب بسته ها در فدورا به وسیله Add/Remove یا YUM در فدورا 7

در فدورا 7 در زمان نصب بسته ها به خطایی شبیه زیر بر خواهید خورد :
File "/usr/bin/yum", line 29, in
yummain.main(sys.argv[1:])
File "/usr/share/yum-cli/yummain.py", line 82, in main
base.getOptionsConfig(args)
File "/usr/share/yum-cli/cli.py", line 154, in getOptionsConfig
disabled_plugins=opts.disableplugins)
File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 159, in _getConfig
self._conf = config.readMainConfig(startupconf)
File "/usr/lib/python2.5/site-packages/yum/config.py", line 611, in readMainConfig
yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
File "/usr/lib/python2.5/site-packages/yum/config.py", line 678, in _getsysver
idx = ts.dbMatch('provides', distroverpkg)

این مشکل به علت باگ موجود بر روی نسخه yum نصب شده بر روی فدورا 7 بوجود می آید, برای حل این مشکل ابتدا بسته yum فعلی را حذف و آخرین نسخه yum را نصب می کنیم :
حذف بسته قدیمی
rpm -e yum

دانلود ورژن جدید
wget http://koji.fedoraproject.org/packages/yum/3.2.7/1.fc7/noarch/yum-3.2.7-1.fc7.noarch.rpm

نصب بسته جدید
rpm -ivh yum-3.2.7-1.fc7.noarch.rpm

حال با خیال راحت به نصب بسته ها در فدورا 7 بپردازید.

برای اینکه بتونید بسته ها رو از روی dvd یا از روی هاردتون نصب کنید , به آموزشی که قبلا نوشتم مراجعه کنید
حل مشکل نصب بسته ها در فدورا به وسیله Add/Remove یا YUM

سهمیه بندی دیسک سخت در لینوکس

گاها در هر شرایطی زمانی فرا می رسد که با کمبود منابع روبرو هستیم و در چنین اوضاع و احوالی است که به کلمه آشنای سهمیه بندی (برای ایرانیان) می رسیم.
در این مقاله منظور از کمبود منابع , کمیود فضای دیسک سخت می باشد ; که ممکن است این کمبود بر روی یک سیستم خانگی با چند کاربر تا یک سرور با چندین هزار کاربر وجود داشته باشد.در این وضعیت هر مدیر سیستم یا شبکه ای تصمیم می گیرد تا کابران خود را با محدودیت مواجه کند و در اصطلاح منابع سیستم را بنا به موارد استفاده هر کدام سهمیه بندی کند.
سهمیه بندی دیسک سخت را می توان برای یک کاربر به تنهایی یا برای یک گروه کاربری تعیین و تنظیم کرد.
بسته ی مورد استفاده در لینوکس برای اعمال سهمیه بندی quota می باشد.

نوع سهمیه بندی در لینوکس به 2 دسته تقسیم می شود :
  1. سهمیه بندی مقدار فضا
  2. سهمیه بندی تعداد فایل ها و دایرکتوری ها

مراحل نصب و تنظیم سهمیه بندی
برای مشاهده تصویر در سایز واقعی بر روی آن ها کلیک کنید

در مرحله اول می بایست بررسی کنیم که آیا هسته از سهمیه بندی دسیک سخت پشتیبانی می کند یا خیر.
معمولا این ویژگی در اکثر توزیع ها پشتیبانی می شود.

[root@localhost ~]# dmesg | grep quota
VFS: Disk quotas dquot_6.5.1

اگر جواب بدین صورت باشد , بدین معناست که هسته از سهمیه بندی دیسک سخت پشتیبانی می کند , در غیر اینصورت باید هسته را مجدد کامپایل کرد.

مرحله دوم نصب ابزار سهمیه بندی می باشد :
در لینوکس های بر پایه دبین :
apt-get install quota
در لینوکس های بر پایه ردهت :
yum install quota

مرحله سوم
تنظیم پارتیشن های مورد نظر برای سهمیه بندی می باشد :

در این مرحله باید گزینه های usrquota برای سهمیه بندی کاربران و grpquota را برای سهمیه بندی گروه ها در option های مربوط به پارتیشن مورد نظر در etc/fstab/ اضافه کنیم :
nano /etc/fstab
/dev/sda1 / ext3 defaults,errors=remount-ro,usrquota,grpquota 0 1



مرحله چهارم فعال کردن پارتیشن های مورد نظر برای سهمیه بندی از طریق فعال کردن فایل های دیتابیس بعد از اضافه کردن تنظیمات بالا می باشد.
پارتیشن ها را بدین طریق برای سهمیه بندی فعال می کنیم :
در لینوکس های بر پایه دبین :

etc/init.d/quota restart/

برای فعال کردن سهمیه بندی بر روی پارتیشن ریشه , حتما باید سیستم را restart کنید.
اولین باری که مراحل بالا را انجام دهید , 2 فایل به نام های aquota.user و aquota.group بر روی پارتیشن های مورد نظر ایجاد می شود.


در لینوکس های بر پایه ردهت :
ابتدا پارتیشن را در صورت mount بودن , از این حالت خارج و دوباره mount می کنیم.
umount /etc/sda1
mount –a

نکته :
برای پارتیشن ریشه از آنجایی که امکان umount وجود ندارد , باید سیستم را restart کرد.

سپس برای ایجاد فایل های سهمیه بدین طریق عمل می کنیم :
/ quotacheck -cugm

بعد از اینکه فایل ها ساخته شد , دستور زیر را جهت ساختن جدول میزان استفاده از دیسک بر اساس سیستم فایل هایی که سهمیه بندی برای آنها فعال شده است , اجرا میکنیم :
quotacheck -avug
گزینه “a” تمام پارتیشن هایی که سهمیه بندی برای آنها فعال شده است را بررسی می کند.
گزینه “u” اطلاعات سهمیه دیسک کاربران را بررسی می کند.
گزینه “g” اطلاعات سهمیه دیسک گروه ها را بررسی می کند.
گزینه “c” هم فایل های سهمیه را ایجاد می کند.

و سپس
/ quotaon


در مرحله پنجم نوبت به اختصاص سهمیه کاربران و گروه ها می رسد :
با استفاده از ابزار edquota می توانیم برای کاربران و گروه ها سهمیه تعیین کنیم.
edquota [-ug] name
Uجهت ایجاد سهمیه برای کاربران
G برای ایجاد سهمیه برای گروه ها استفاده می شود.

برای مثال :
edquota -u reza
این مرحله نشانه موفق آمیز بودن انجام مراحل قبلی می باشد.

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

همانطور که در ابتدا اشاره کردیم و در شکل هم قابل مشاهده است , دو نوع سهمیه بندی قابل انجام است :
  1. محدودیت مقدار فضای قابل استفاده که با blocks مشخص می شود.(واحد مورد استفاده block می باشد که برابر با 1024 بایت یا 1 کیلوبایت می باشد.)
  2. محدودیت تعداد فایل ها و دایرکتوری ها که با inodes مشخص می شود.

عددهایی که در زیر blocks و inodes درج شده است , مقدار استفاده فعلی را نشان می دهد.

محدودیت های بالا در 2 سطح صورت می پذیرد :
  1. Soft
  2. Hard
هارد حداکثر مقدار استفاده بصورت قطعی را تعیین می کند.برای مثال اگر برای کابر رضا مقدار 2 مگابایت فضا در نظر گرفته شود , این کاربر نمی تواند از این مقدار تحت هیچ شرایطی تجاوز کند.
سافت حداکثر مقدار استفاده را نشان می دهد که برخلاف هارد بصورت مطلق نیست و کابر می تواند در یک دوره زمانی مشخص (پیش فرض 7 روز می باشد) از این مقدار تجاوز کند.این دوره زمانی را دوره رشد یا grace period می نامند.

مقدار صفر برای Soft&Hard به معنای استفاده بدون محدودیت می باشد.

دوره رشد می تواند بر اساس روز , ساعت , دقیقه و ثانیه تنظیم شود.برای تنظیم آن بدین صورت عمل می کنیم :
edquota –t


مرحله ششم و آخر مربوط به گزارش گیری از سهمیه بندی می باشد.
برای گزارش گیری در لینوکس از 2 ابزار دستور استفاده می کنیم :
  • Quota
  • Repquota
برای مشاهده لیست پارامترها بهمراه کاربرد هر کدام از دستورات بالا , می توانید دستورات را با پارامتر help-- استفاده کنید.در اینجا به مهمترین این پارامترها می پردازیم.

دستور quota برای مشاهده سهمیه اعمال شده به کاربران و گروه ها بصورت انفرادی استفاده می شود.
quota [-ug] name
g اطلاعات سهمیه بندی گروه و
u اطلاعات سهمیه بندی کاربر را نشان می دهند.


دستور repquota اطلاعات کلی تر از سهمیه بندی در اختیار ما قرار می دهد.
repquota [-vug] -a | /filesystem
u گزارش از سهمیه تعریف شده برای تمامی کاربران
g گزارش از سهمیه تعریف شده برای تمامی گروه ها
a گزارش از تمام فایل سیستم هایی که سهمیه بندی آنها در فایل fstab فعال شده است.



۱۳۸۶ مهر ۸, یکشنبه

زمانبندی اجرای دستورات در سیسکو بهمراه آموزش تصویری

ممکن است برای شما زمانی که از قابلیت زمانبندی برای اجرای فرامینی در ویندوز یا لینوکس یا حتی گوشی تلفن همراه خود استفاده می کنید , این سوال پیش آمده باشد که "آیا می شود در سیسکو هم از این قابلیت مهم و پرکاربرد استفاده کرد؟" , جواب این سوال مثبت است .منتها استفاده از زمانبندی در سیسکو با محدودیت هایی همراه هست و این محدودیت ها از این حقیقت ناشی می شود که هدف از طراحی زمانبندی در سیسکو برای این بوده است که دستگاه اجازه داشته باشد به Cisco's CNS server متصل شود و درخواست بروزرسانی را بصورت خودکار انجام دهد , ولی چون این ویژگی دارای قابلیت های خوبی می باشد از آن جهت اجرای خودکار برخی امور دیگر هم استفاده میشود.
ویژگی زمانبندی اجرای دستورات در سیسکو این قابلیت را برای ما فراهم می کند تا مقداری از بار مسئولیت خود کاسته و برخی از دستورات مد Privileged یا EXEC CLI را در زمان بخصوص برای یکبار یا برای چندین مرتبه در دوره های زمانی پی در پی اجرا کنیم.
نکته :
تنها دستوراتی قابلیت زمانبندی را دارند که interactive نیستند و بعبارتی دیگر در پی اجرا شدن سوالی نمی پرسند و احتیاجی به تایدیه ندارند.برای مثال 2 دستور "copy running-config startup-config" و "writting" را در نظر بگیرید , با آنکه هر دو دستور یک عملیات را انجام می دهند ولی از دستور اول بعلت آنکه در پی اجرا شدن سوالی در مورد نام فایل مقصد می پرسد , امکان استفاده وجود ندارد ولی از دستور دوم براحتی می توان بهره برد.
اولین بار این وِیژگی در IOS 12.3(1) معرفی شد , بنابراین برای استفاده از این قابلیت می بایست از IOS برابر یا بالاتر از 12.3 استفاده کنید.
از دستور "kron" در سیسکو برای زمانبدی اجرای فرامین استفاده می کنیم که مشابه برنامه "at" در ویندوز و "cron" یا "at" در سیستم های بر پایه UNIX می باشد.
زمانبندی در سیسکو از 2 بخش تشکیل شده است :
  1. Policy list - همانند یک script عمل می کند که شامل یک یا چند دستوریست که می باست اجرا شود.
  2. Occurrence - که به دستگاه می گوید در چه زمان و دوره ای polict list را اجرا کند.
برای مثال , فرض کنید شما می خواهید که از تنظیمات جاری دستگاه (در RAM) بطور خودکار در Startup (در NVRAM) هر روز ساعت 14:00 پشتیبان تهیه کنید.
با استفاده از دستور kron همانطور که در بالا گفته شد این تنظیمات را در 2 مرحله انجام می دهیم:
مرحله اول :
ساختن یک policy list
PersianAdmins(config)# kron policy-list reza
PersianAdmins(config-kron-policy)# cli wr
اگر می خواهید چنیدین دستورات بیشتری در یک زمان اجرا شود , هر کدام را در خط جداگانه ای بنویسید و توجه داشته باشید که همگی می بایست با cli آغاز شوند.
مرحله دوم :
ساختن occurrence تا به روتر بگوید در چه زمانی policy list را اجرا کند
PersianAdmins(config)# kron occurrence reza at 14:00 recurring
PersianAdmins(config-kron-occurrence)# policy-list reza
policy-list reza نام همان است که در مرحله اول ساخته شد.
برای آنکه دستوری را در ژمان های مختلف اجرا کنیم باید از policy list های متفاوت بهره گیریم.
توجه :
در صورتی که زمان بر روی دستگاه تنظیم نشده باشد با پیغام خطا مواجه خواهید شد.(از دستور clock یا NTP برای تنظیم زمان و ساعت استفاده کنید)
خلاصه مراحل انجام شده در بالا :
مرحله اول :
1. enable
2. configure terminal
3. kron policy-list list-name
4. cli command
5. Repeat Step 4 for all EXEC CLI to run at the same time or interval.
6. exit
مرحله دوم :
1. enable
2. configure terminal
3. kron occurrence occurrence-name [user user-name] {in [[numdays:]numhours:]nummin | at
hours:min [[month] day-of-month] [day-of-week]} {oneshot | recurring}

4. policy-list list-name
5. Repeat Step 4 for all policies to run at the same time or interval.
6. end
محدودیت ها :
  • امکان ساخت policy list بیشتر از 31 عدد در یک زمان وجود ندارد.
  • اگر یک occurrence برای اجرا شدن فقط برای یکبار تنظیم شود , بعد از اینکه یک بار اجرا شد دیگر در "show runing-config" نمایش داده نخواهد شد.
  • فقط از دستورات مد privileged می توان استفاده کرد و از دستورات مدهای config و Interface بدلیل آنکه هر دستور جداگانه اجرا می شود امکان بهره بردن نیست.
  • اجازه ویرایش کردن لیست دستوراتی که وارد کرده اید را ندارید , پس قبلا آنها را مورد آزمایش قرار دهید.
مشاهده تنظیمات مربوط به زمانبندی :
show kron schedule
آموزش تصویری :
لینک های پشتیبان
منبع :
www.cisco.com

Switch چیست ؟

Switch برای اتصال دستگاهای مختلف از قبیل رایانه , مسیریاب , چاپگرهای تحت شبکه , دوربین های مدار بسته و .... در شبکه های کابلی مورد استفاده واقع می شود.
در وجه ظاهری switch همانند جعبه ایست متشکل از چندین درگاه اترنت که از این لحاظ شبیه Hub می باشد, با وجود آنکه هر دو این ها وظیفه برقراری ارتباط بین دستگاه های مختلف را بر عهده دارند , تفاوت از آنجا آغاز می شود که Hub بسته های ارسالی از طرف یک دستگاه را به همه ی درگاه های خود ارسال می کند و کلیه دستگاه های دیگر علاوه بر دستگاه مقصد این بسته ها را دریافت می کنند در حالیکه در Switch ارتباطی مستقیم بین درگاه دستگاه مبدا با درگاه دستگاه مقصد برقرار شده و بسته ها مستقما فقط برای آن ارسال می شود.
این خصوصیت از انجا می آید که Switch می تواند بسته ها را پردازش کند , در Switch های معمولی که به switch layer2 معروفند این پردازش تا لایه دوم مدل OSI پیش می رود و نتیجه این پردازش جدولی است که در Switch با خواندن آدرس سخت افزاری (MAC) فرستنده بسته و ثبت درگاه ورودی تشکیل می شود.
Switch با رجوع به این جدول عملیات آدرس دهی بسته ها در لایه دوم را انجام میدهد , بدین معنا که این جدول مشخص می کند بسته ورودی می بایست فقط برای کدام درگاه ارسال شود.
در شبکه های بزرگ Switch ها جدول های خود را به اشتراک می گذارند تا هر کدام بدانند چه دستگاهی به کدام Switch متصل است و با این کار ترافیک کمتری در شبکه ایجاد کنند.
Switch بطور معمول در لایه دوم مدل OSI کار می کند ولی Switch هایی با قابلیت کارکرد در لایه های مختلف حتی لایه هفتم هم وجود دارد.پرکاربردترین Switch در بین لایه های مختلف بجز لایه دوم می توان به Switch layer3 اشاره کرد که در بسیاری موارد جایگزین مناسبی برای روتر می باشند.
از Switch می توان در یک شبکه خانگی کوچک تا در شبکه های بزرگ با Backbone های چند گیگابایتی استفاده کرد.

برخی مزیت های و قابلیت های Switch:
  1. Switch امکان برقراری ارتباط بین ده ها و گاها صدها دستگاه را به طور مستقیم و هوشمند به ما می دهد
  2. Switch امکان برقرای ارتباط با سرعت بسیار بالا را فراهم می کند
  3. Switch امکان نظارت و مدیریت بر عملکرد کاربران را فراهم می کند
  4. switch امکان کنترل پهنای باند مصرفی کاربران را فراهم می کند
  5. Switch امکان تفکیک شبکه به بخش های کوچکتر و مشخص کردن نحوه دسترسی افراد به قسمت های مختلف را فراهم می کند
  6. و ده ها مزیت دیگر

اگر بخواهیم انواع Switch layer2 را فقط نام ببریم از این قرارند :
  • Store and forward
  • Cut through
  • Fragment free
  • Adaptive switching
این مقاله توسط اینجانب (رضا بهروزی) برای مجله اینترنتی - " Network City " - شهر شبکه نوشته شده است و حقوق آن برای این مجله محفوظ میباشد.

۱۳۸۶ مهر ۷, شنبه

همایش لینوکس شیراز

دیروز همایش لینوکس بچه های شیراز توی دانشگاه شیراز بود...روز خوبی بود و از انتظار ما بهتر...منم چند تا آموزش رو اونجا ارائه دادم.....دم آخری نزدیک بود همه چی خراب بشه....کارا در عرض 10 دقیق درست شد..ارتباط لبپاب ها با هم...پروژکتور که تصویر رو نصفه نمیه نشون میداد و.....


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

۱۳۸۶ شهریور ۲۷, سه‌شنبه

آموزش تصویری نصب دبین 4 و اوبونتو 7.04


این آموزش ها برای همایش بزرگ کاربران لینوکس در تاریخ 5 مهر 1386 در دانشگاه شیراز تهیه شده است.
این آموزش ها در محیط شبیه سازی شده vmware ساخته و تهیه شده است.
این آموزش ها مناسب برای عزیزانی است که تا به حال تجربه نصب لینوکس را نداشته اند.
و این آموزش ها ...
آموزش نصب دبیان 4

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید(1.1MB)

لینک های پشتیبان

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید(1.1MB)


آموزش نصب اوبونتو 7.04

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید(2.3MB)

لینک های پشتیبان

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید(2.3MB)

۱۳۸۶ شهریور ۸, پنجشنبه

آموزش تصویری تنظیم DHCP Relay Agent درِ debian

DHCP Relay Agent (dhcrelay) درخواست هایی که از سابنت بدون DHCP سرور میآید را به DHCP سرور های سابنتهای دیگر که ما مشخص کرده ایم بازپخش میکند.
دلیل استفاده از DHCP Relay Agent اینست که روتر Broadcast را از خود عبور نمیدهد و DHCP clientها برای گرفتن IP از Broadcast استفاده میکنند پس برای حل این مشکل ما از یک DHCP Relay Agent استفاده میکنیم که بدین ترتیب عمل میکند :
DHCP Relay Agent پیغام هایی که به صورت Broadcast ارسال میشود و تقاضای IP میکنند را جمع آوری میکند و سپس خود بصورت Unicast با DHCP سرور درخواست مورد نظر را مطرح میکند و جواب گرفته شده را برای client ارسال میکند.در واقع DHCP Relay Agent نقش میانجی را ایفا میکند.
dhcprelay

آموزش در دبین :

لینک های پشتیبان


برای مشاهده آموزش کلیک کنید

برای دانلود آموزش کلیک کنید

برای نصب DHCP Relay agent در دبین به ترتیب عمل مبکنیم :

apt-get install dhcp3-relay


برای ویرایش تنظیمات مربوط از قبیل DHCP سرور و اینکه از چه کارت شبکه هایی درخواست ها جمع آوری میبایست فایل etc/default/dhcp3-relay/ را ویرایش کنیم.

nano /etc/default/dhcp3-relay

# Defaults for dhcp3-relay initscript
# sourced by /etc/init.d/dhcp3-relay
# installed at /etc/default/dhcp3-relay by the maintainer scripts
#
# This is a POSIX shell fragment
#
# What servers should the DHCP relay forward requests to?
SERVERS="192.168.1.100"
# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests?
INTERFACES="eth1"
# Additional options that are passed to the DHCP relay daemon?
OPTIONS=""
برای شروع مجدد سرویس :

etc/init.d/dhcp3-relay restart/

آموزش تصویری تنظیم DHCP Relay Agent درِ Redhat & Fedora

DHCP Relay Agent (dhcrelay) درخواست هایی که از سابنت بدون DHCP سرور میآید را به DHCP سرور های سابنتهای دیگر که ما مشخص کرده ایم بازپخش میکند.
دلیل استفاده از DHCP Relay Agent اینست که روتر Broadcast را از خود عبور نمیدهد و DHCP clientها برای گرفتن IP از Broadcast استفاده میکنند پس برای حل این مشکل ما از یک DHCP Relay Agent استفاده میکنیم که بدین ترتیب عمل میکند :
DHCP Relay Agent پیغام هایی که به صورت Broadcast ارسال میشود و تقاضای IP میکنند را جمع آوری میکند و سپس خود بصورت Unicast با DHCP سرور درخواست مورد نظر را مطرح میکند و جواب گرفته شده را برای client ارسال میکند.در واقع DHCP Relay Agent نقش میانجی را ایفا میکند.
dhcprelay


آموزش در ردهت :

لینک های پشتیبان


برای مشاهده آموزش کلیک کنید

برای دانلود آموزش کلیک کنید


برای نصب DHCP Relay agent در ردهت به ترتیب عمل مبکنیم :
yum install dhcp
برای ویرایش تنظیمات مربوط از قبیل DHCP سرور و اینکه از چه کارت شبکه هایی درخواست ها جمع آوری میبایست فایل etc/sysconfig/dhcrelay/ را ویرایش کنیم.
nano /etc/sysconfig/dhcrelay

INTERFACES="eth1"
DHCPSERVERS="192.168.1.100"
برای شروع مجدد سرویس :

etc/init.d/dhcrelay restart/

عکسی از سمت کلاینت در موقع گرفتن IP آدرس :
توجه داشته باشید که این عکس بعدا اضافه شده و با تنظیمات گفته شده در بالا هماهنگی ندارد.IP آدرس 192.168.1.3 مربوط به dhcp relay agent می باشد.

تغییر شل پیش فرض در لینوکس

شل پیش فرض هر کاربر در فایل etc/passwd/ قابل مشاهده می باشد ولی از طریق این فایل اگر کاربر ریشه نباشید امکان تغییر وجود ندارد.
نمونه محتویات این فایل :
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh


فایل etc/shells/ حاوی لیستی از شل هایی است که بر روی سیستم موجود میباشد و از طریق آن می توانید شل مورد نظر خود را انتخاب کنید :
PersianAdmins:~# cat /etc/shells
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/bash
/bin/rbash

هر کاربر تنها می تواند شل پیش فرض خود را تغییر دهد و تنها کاربر ریشه قادر است تنظیمات کاربران دیگر را تغییر دهد.
برای تغییر شل پیش فرض از دستور chsh استفاده می کنیم که خلاصه شده change shell می باشد :
chsh -s {shell-name} {user-name}

shell-name نام شل مورد نظر می باشد که باید آدرس کامل آن وارد شود .
user-name نام کاربری که این تغییرات بر روی آن اعمال می شود. در صورتی که کاربر ریشه هستید از این گزینه استفاده کنید.

مثال :
تغییر شل کاربر جاری
chsh -s /bin/csh

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

تغییر شل پیش فرض کابر رضا از طریق کاربر ریشه :
chsh -s /bin/csh reza
وقتی از کاربر ریشه استفاده می کنیم پسورد پرسیده نخواهد شد.

مشاهده تغییرات :
قبل از دستور

PersianAdmins:~# cat /etc/passwd | grep reza
reza:x:1000:1000:reza,,,:/home/reza:/bin/bash
بعد از دستور

PersianAdmins:~# cat /etc/passwd | grep reza
reza:x:1000:1000:reza,,,:/home/reza:/bin/csh

آموزش تصویری امن کردن وب سایت توسط SSL در IIS

How to secure web sites with SSL(CA) on IIS - HTTPS

SSL چيست ؟

Secure Socket Layer , يا همان SSL يک تکنولوژی استاندارد و به ثبت رسيده برای تامين ارتباطی امن مابين يک وب سرور و يک مرورگر اينترنت است. اين ارتباط امن از تمامی اطلاعاتی که ما بين وب سرور و مرورگر اينترنت ( کاربر) انتقال ميابد , محافظت ميکند تا در اين انتقال به صورت محرمانه و دست نخورده باقی بماند. SSL يک استاندارد صنعتی است و توسط مليونها وب سايت در سراسر جهان برای برقراری امنتيت انتقال اطلاعات استفاده ميشود. برای اينکه يک وب سايت بتواند ارتباطی امن از نوع SSL را داشته باشد نياز به يک گواهينامه SSL دارد.

زمانيکه شما ميخواهيد SSL را بر روی سرور خود فعال کنيد سؤالات متعددی در مورد هويت سايت شما ( مانند آدرس سايت ) و همين طور هويت شرکت شما ( مانند نام شرکت و محل آن) از شما پرسيده ميشود. آنگاه سرور دو کليد رمز را برای شما توليد ميکند , يک کليد خصوصی (Private Key) و يک کليد عمومی (Public Key). کليد خصوصی به اين خاطر , اين نام را گرفته است , چون بايستی کاملا محرمانه و دور از دسترس ديگران قرارگيرد. اما در مقابل نيازی به حفاظت از کليد عمومی نيست و اين کليد در قالب يک فايل درخواست گواهينامه يا Certificate Signing Request که به اختصار آنرا CSR ميناميم قرارداده ميشود که حاوی مشخصات سرور و شرکت شما بصورت رمز است. آنگاه شما باسيتی که اين کد CSR را برای صادرکننده گواهينامه ارسال کنيد. در طول مراحل سفارش يک SSL مرکز صدور گواهينامه درستی اطلاعات وارد شده توسط شما را بررسی و تاييد ميکند و سپس يک گواهينامه SSL برای شما توليد کرده و ارسال ميکند.

وب سرور شما گواهينامه SSL صادر شده را با کليد خصوصيتان در سرور و بدور از دسترس سايرين مطابقت ميدهد. سرور شما آنگاه امکان برقراری ارتباط امن را با کاربران خود در هر نقطه دارد.

نمايش قفل امنيت SSL

پيچيده گيهای يک پروتکل SSL برای کاربران شما پوشيده است ليکن مرورگر اينترنت آنها در صورت برقراری ارتباط امن , وجود اين ارتباط را توسط نمايش يک قفل کوچک در پايين صفحه متذکر ميشود.

کليک برروی قفل کوچک باعث نمايش گواهينامه شما به همراه ساير جزئيات ميشود.

گواهينامه های SSL تنها برای شرکتها و اشخاص حقيقی معتبر صادر ميشوند. به طور مثال يک گواهينامه SSL شامل اطلاعاتی در مورد دامين , شرکت , آدرس , شهر , استان , کشور و تاريخ ابطال گواهينامه و همينطور اطلاعاتی در مورد مرکز صدور گواهينامه که مسؤول صدور گواهينامه ميباشد.

زمانيکه يک مرورگر اينترنت به يک سايت از طريق ارتباط امن متصل ميشود , علاوه بر دريافت گواهينامه SSL ( کليد عمومي) , پارامترهايی را نظير تاريخ ابطال گواهينامه , معتبر بودن صادرکننده گواهينامه و مجاز بودن سايت به استفاده از اين گواهينامه نيز بررسی ميکند و هرکدام از موارد که مورد تاييد نباشد به صورت يک پيغام اخطار به کاربر اعلام ميدارد.




متن وام گرفته شده از سایت :
http://www.iranssl.com

۱۳۸۶ شهریور ۲, جمعه

پاک کردن لیست دستوراتی که در شل اجرا کرده ای

حتما براتون پیش اومده که جایی کاری انجام دادید و نمی خواهید طرف بفهمه چی کار کردید و قصد دارید رد پاتون رو پاک کنید!
با استفاده از دستور history تمام دستوراتی که تا به حال بکار بردید رو میتونید مشاهده کنید

reza:~# history | more
1 nano /etc/network/interfaces
2 nano /etc/hostname
3 init 6
4 scp /etc/ipsec.conf root@192.168.0.22:/etc/ipsec.conf
5 scp /etc/ipsec.secrets root@192.168.0.22:/etc/ipsec.secrets
6 scp /etc/ipsec.conf root@192.168.0.22:/etc/ipsec.conf
7 nano /etc/network/interfaces
8 /etc/init.d/networking restart
9 nano /etc/network/interfaces
10 /etc/init.d/networking restart
11 /etc/init.d/networking restart


حال برای اینکه این history رو از بین ببرید این دستور رو اجرا کنید

history -c



ولی کار تمام نشده چونکه این لاگ ها در فایل bash_history. در دایکتوری خانگی کاربر هم ذخیره می شود , برای خالی کردن این فایل بدین ترتیب عمل می کنیم (من فرض می کنم کاربر ریشه مورد نظر می باشد) :

echo > /root/.bash_history

۱۳۸۶ مرداد ۲۸, یکشنبه

آموزش تصویری DHCP سرور بهمراه نحوه تنظیم User-Class ها در ویندوز سرور 2003

سرویس DHCP(Dynamic Host Configuration Protocol) بصورت خودکار تمامی اطلاعات مربوط به TCP/IP از قبیل IP آدرس , DNS سرور , Gateway و بسیار گزینه های دیگر را در اختیار کلاینت ها قرار می دهد که پرکاربردترین آنها مورد اشاره واقع شد.

عملیات مربوط به تخصیص آدرس IP به کلاینت ها در چندین مرحله صورت می پذیرد که در اینجا به آن می پردازیم :
1 - کلاینت ها در زمان بوت شدن سیستم یا شروع مجدد سرویس یا با استفاده از دستور ipconfig /renew در ویندوز شروع به پخش پیغام هایی به نام DHCP Discover بصورت همگانی (broadcast) می کنند و در این پیغام ها درخواست IP خود را برای DHCP سرور های در محل اعلام می کنند.
2 - سروهای DHCP که این پیغام را دریافت می کنند در جوب پیغامی بنام DHCP Offer برای کلاینت ارسال می کنند و IP مورد نظر خود را به کلاینت پیشنهاد می دهند.
3 - کلاینت که ممکن است از چندین سرور پیشنهاد IP داشته باشد معمولا به سریعترین پیشنهاد با پیغامی بنام DHCP Request درخواست IP می کند.کلاینت این پیغام را بصورت همگانی ارسال می کند که برای سرور مورد نظر نشان دهنده قبول پیشنهاد و برای بقیه نشان دهنده عدم قبول می باشد.
4-سرور DHCP هم با یک پیغام DHCP ACK با این درخواست موافقت می کند.
شکل زیر مراحل بالا را بخوبی نشان می دهد:



برای جلوگیری از اینکه دو سیستم همزمان از یک آدرس استفاده کنند میتوان DHCP سرور را تنظیم کرد تا قبل از اختصاص IP به کلاینت آن را ping کند تا مشکلی بوجود نیاید.همچنین کلاینت با استفاده از ARP این عمل را انجام می دهد.

سرور DHCP این تنظیمات را برای دوره زمانی مشخصی در اختیار کلاینت قرار می دهد که اصطلاحا lease time گفته می شود.کلاینت وقتی به 50% از زمان باقی مانده رسید از سرور تقاضای تمدید زمان اجاره را می کند که در این مرحله پیغام ها بصورت Unicast رد و بدل می شود.
اگر سرور تا 87.5% از زمان باقی مانده به کلاینت پاسخ ندهد , کلاینت شروع به فرستادن پیغام های DHCP Request بصورت همگانی می کند تا سرورهای دیگر هم بتوانند به او پاسخ دهند.
pic2


گاها در بعضی شبکه ها DHCP سرورهای قلابی یا Rogue DHCP سرورها به کلاینت ها آدرس اختصاص می دهند که در آموزش زیر کاملا به آن می پردازیم.
پیدا کردن DHCP سرورهای قلابی یا Rogue DHCP servers در شبکه



اگر DHCP سرور و کلاینت ها در دو شبکه مجزا از هم قرار داشته باشند میبایست از یک Relay Agent استفاده کرد تا درخواست ها را از طرف کلاینت ها برای DHCP سرور بازپخش کند و سپس جواب را از طرف DHCP به کلاینت ها منتقل کند.
DHCP Relay Agent (dhcrelay) درخواست هایی که از سابنت بدون DHCP سرور میآید را به DHCP سرور های سابنتهای دیگر که ما مشخص کرده ایم بازپخش میکند.
دلیل استفاده از DHCP Relay Agent اینست که روتر Broadcast را از خود عبور نمیدهد و DHCP clientها برای گرفتن IP از Broadcast استفاده میکنند پس برای حل این مشکل ما از یک DHCP Relay Agent استفاده میکنیم که بدین ترتیب عمل میکند :
DHCP Relay Agent پیغام هایی که به صورت Broadcast ارسال میشود و تقاضای IP میکنند را جمع آوری میکند و سپس خود بصورت Unicast با DHCP سرور درخواست مورد نظر را مطرح میکند و جواب گرفته شده را برای client ارسال میکند.در واقع DHCP Relay Agent نقش میانجی را ایفا میکند.

در آموزش های زیر DHCP relay agnet کاملا توضیح داده شده است :
آموزش تصویری تنظیم DHCP Relay Agent در لینوکس
آموزش تصویری تنظیم DHCP Relay Agent در ویندوز سرور 2003


برای اینکه کلاینت های لینوکسی را برای استفاده از DHCP تنظیم کرد میتوانید از آموزش های زیر بهره ببرید:
تنظیمات اولیه شبکه در دبین و آبانتو و توزیع ها مبتنی بر آنها
تنظیمات اولیه شبکه در Redhat , Fedora , CentOS و توزیع های مبتنی بر آنها


نصب DHCP سرور در ویندوز سرور 2003 :


استفاده از User-class ها :
ممکن است به این مشکل برخورده اید که چندین کلاینت می بایست مثلا gateway متفاوت از بقیه داشته باشند و تنها راه را در رزروشن دیده اید, در حالیکه راه آسانتر استفاده از User-class ها می باشد.بدین ترتیب که ابتدا یک User-class تعریف می کنیم و برای این class مورد نظر Option ها را به دلخواه تنظیم می کنیم , در نهایت کلاینت با تنظیم این class به سرور می گوید که Option ها را از این class به او اختصاص دهد.

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید


لینک های پشتیبان

برای مشاهده آموزش کلیک کنید
برای دانلود آموزش کلیک کنید



تنظیم ویندوز XP برای استفاده از User-class ها در DHCP سرور :
در این آموزش مشاهده خواهید کرد آدرس gateway در ابتدا که کلاینت از user-class استفاده نمی کند از option پیش فرض خواهد بود و زمانی که user-class تنظیم می شود آدرس به gatewayای که برای این کلاس در بالا مشخص کرده ایم تغییر می کند.

۱۳۸۶ مرداد ۲۷, شنبه

نصب و تنظیم MRTG در لینوکس (ابزارهای مانیتورینگ شماره 2)

نصب و تنظیم MRTG در لینوکس (ابزارهای مانیتورینگ شماره 2)


MRTG ابزاریست پرکاربرد و رایگان جهت بدست آوردن میزان مصرفی ترافیک , CPU , RAM و مورد های بسیار دیگر.
MRTG میزان مصرف را بصورت صفحات وب همراه با عکس هایی با فرمت PNG ایجاد می کند.
از MRTG می توان برای مانیتورینگ اکثر سخت افزارهای شبکه با قابلیت SNMP و تقریبا تمامی سیستم عامل ها بهره گرفت.
در این آموزش به شیوه نصب و تنظیم MRTG در لینوکس های بر پایه دبین و ردهت می پردازیم.

نصب MRTG و بسته های مورد نیاز در دبین :
apt-get install apache2 mrtg

نصب MRTG و بسته های مورد نیاز در ردهت :
yum install httpd* mrtg

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

1-مایکروسافت
همانند هر سرویس ویندوز دیگر به آسانی قابل انجام است, کافیست به

Computer management==>Services and Aplications==>Services

بروید و سرویس SNMP را فعال و Community مورد نظر با اجازه دسترسی لازم که در اینجا Read only می باشد را تنظیم کنید.
به شکل زیر توجه کنید:

برای مشاهده در سایز واقعی بر روی عکس کلیک کنید


2-سیسکو
config term
snmp-server community public ro 15
access-list 15 permit X.X.X.X(ip-mrtg)
3-لینوکس
الف-نصب در دبین
apt-get install snmp snmpd
ب-نصب در ردهت
*yum install net-snmp
حال تغییرات زیر را در فایل etc/snmp/snmpd.conf/ انجام دهید :
قبل از هر چیز از یک کپی از فایل تهیه می کنیم تا در صورت نیاز از آن استفاده کنیم
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.default
سپس این خطوط را پیدا کرده
com2sec paranoid default public
#com2sec readonly default public
#com2sec readwrite default private


وبه این شکل تغییر دهید

#com2sec paranoid default public
com2sec readonly 127.0.0.1 public
#com2sec readwrite default private

و در آخر سرویس را مجدد راه اندازی کنید
etc/init.d/snmpd restart/
برای تست درست بودن تنظیمات مثلا بر روی روتر سیسکو بدین شکل عمل می کنیم :
snmpwalk -v1 -c public 192.168.0.1


دایرکتوری که خروجی فایل های وب MRTG در آن قرار می گیرد را می سازیم:
mkdir /var/www/mrtg
تنظیم MRTG :
در حالت پیش فرض تنظیمات MRTG را در فایل etc/mrtg.cfg/ انجام می دهیم ولی شما می توانید از هر فایل دیگری با هر نامی استفاده کنید.
فرض کنید می خواهید ترافیک اینترفیس های روتر را آنالیز کنید و نموداری از میزان مصرف شبکه خود بدست آورید , برای این هدف بدین شکل عمل می کنیم :
cfgmaker public@192.168.0.1This email address is being protected from spam bots, you need Javascript enabled to view it --global 'workdir:/var/www/mrtg' --output /etc/mrtg.cfg
با استفاده از این دستور تنظیمات بصورت خودکار صورت می پذیرد و از این روش برای بدست آوردن نمودار مصرف اینترفیس ها در هر دستگاه و سیستم عاملی میتوان استفاده کرد.

دستور زیر را اجرا کنید و در صورت نمایش خطا , آنرا چندین مرتبه اجرا کنید:
usr/bin/mrtg /etc/mrtg/server-stats.cfg/
توجه داشته باشید که اگر متغیر LANG بر روی UTF-8 تنظیم شده است باید از دستور زیر استفاده کنید :
usr/bin/mrtg /etc/mrtg/server-stats.cfg/
نکته :
با استفاده از دستور export می توانید متغیرهای محیطی را مشاهده کنید.

حال فایل index را با این دستور ایجاد می کنیم :
indexmaker --columns=1 /etc/mrtg.cfg > /var/www/mrtg/index.html
در صورتیکه از فایلی بجز etc/mrtg.cfg/ استفاده می کنید , می بایست این تنظیمات را در cron انجام دهید تا بروررسانی صورت پذیرد :

nano /etc/cron.d/mrtg
0/5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/other-file.cfg
از MRTG برای مانیتورینگ موردهای بسیاری می توان استفاده کرد.برای مثال با اعمال تنظیمات زیر می توانید لود CPU روتر سیسکو خود را بدست آورید :

# Router CPU load %
Target[cpu.1]:1.3.6.1.4.1.9.2.1.58.0&1.3.6.1.4.1.9.2.1.58.0: public@192.168.0.1
RouterUptime[cpu.1]: public@192.168.0.1
MaxBytes[cpu.1]: 100
Title[cpu.1]: CPU LOAD
PageTop[cpu.1]: CPU Load %
Unscaled[cpu.1]: ymwd
ShortLegend[cpu.1]: %
XSize[cpu.1]: 380
YSize[cpu.1]: 100
YLegend[cpu.1]: CPU Utilization
Legend1[cpu.1]: CPU Utilization in % (Load)
Legend2[cpu.1]: CPU Utilization in % (Load)
Legend3[cpu.1]:
Legend4[cpu.1]:
LegendI[cpu.1]:
LegendO[cpu.1]: Usage
Options[cpu.1]: gauge



حال برای مشاهده MRTG در بروزر بدین شکل عمل می کنیم :
http://mrtg-server-ip/mrtg

در آخر توصیه می کنم که دسترسی به دایرکتوری mrtg در وب سرور خود را محدود کنید.

۱۳۸۶ مرداد ۲۵, پنجشنبه

نمایش ندادن ستون ها

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

۱۳۸۶ مرداد ۱۲, جمعه

نصب و تنظیم VPN - PPTP client در لینوکس

در این آموزش با نحوه تنظیم لینوکس بعنوان یک PPTP client برای اتصال به VPN - PPTP سرور آشنا خواهیم شد.

فرض بر این است که شما از محیط متنی استفاده می کنید , از این رو آموزش بر اساس ابزارهای این محیط است ولی شما همچنین قادر خواهید بود تا در محیط گرافیکی هم ازاین روش بهره ببرید.

در گذشته برای استفاده از Encryption می بایست وصله مربوط را به هسته اضافه می کردیم در حالیکه بعد از هسته 2.6.15 دیگر نیازی به افزودن وصله به هسته نیست.ورژن جدید اکثر توزیع ها این ویژگی را بهمراه دارد.

برای بررسی ورژن هسته از دستور uname -a استفاده کنید.

Reza:~# uname -a
Linux debian 2.6.18-4-k7 #1 SMP Mon Mar 26 17:57:15 UTC 2007 i686 GNU/Linux

با آنکه PPTP از لحاظ امنیت نسبت به رقبای دیگر خود نظیر OpenVPN در جایگاه پایین تری قرار دارد ولی نصب آسان و دردسترس بودن در اکثر سیستم عامل ها سبب برتری PPTP در نهایت می شود.

شیوه نصب و تنظیم PPTP client که در این آموزش گفته می شود در اکثر لینوکس ها مشابه می باشد.من این تنظیمات را در دبین , آبانتو و فدورا مورد آزمایش قرار داده ام.لازم به تذکر است که همه این ها از هسته بعد از 2.6.15 استفاده می کردند.

با گوگلی که انجام دادم متوجه شدم که این شیوه در این سیستم عامل ها جوابگوست :

  1. CentOS , RHEL , Fedora همگی با هسته بالاتر از 2.6.15
  2. Debian و Ubuntu با هسته بالاتر از 2.6.15
  3. FreeBSD

همچنین این PPTP client با این سرورها می تواند ارتباط برقرار کند :

  1. Microsoft Windows VPN Server
  2. Linux PPTP Server
  3. Cisco PIX


نصب PPTP client

اول از همه آخرین نسخه PPTP client که در حال حاظر 1.7.1 می باشد را دانلود می کنیم :

Reza:/tmp#wget http://quozl.netrek.org/pptp/pptp-1.7.1.tar.gz

سپس

tar xvfz pptp-1.7.1.tar.gz
cd pptp-1.7.1
make
make install

PPTP client نصب شده و آماده تنظیم می باشد.

برای بهره برداری از PPTP client فایل های زیر را مورد استفاده قرار می دهیم :

  1. etc/ppp/chap-secrets/ که نام کاربری و پسورد کانکشن را در خود ذخیره می کند
  2. etc/ppp/peers/tunnel-name/ این فایل را باید بسازیم و تنظیمات مربوط به تانل از قبیل آدرس سرور VPN را در آن قرار می دهیم.این فایل باید در دایرکتوری peers واقع شده باشد.
  3. etc/ppp/options.pptp/ که سعی کنید تنها در صورت نیاز این فایل را ویرایش کنید , چون باعث بروز مشکلات زیادی در صورت عدم آگاهی از تاثیر تغییرات انجام شده خواهد شد.
تنظیمات فایل options.pptp بر تمام ارتباطات اعمال می شود و حداقل باید شامل این تنظیمات باشد :
lock noauth nobsdcomp nodeflate
نکته :
برای استفاده از Encryption می باست ماژول مربوط را لود کنید :
modprobe ppp_mppe

با یک مثال ادامه می دهیم :

فرض کنید می خواهیم به یک VPN سرور با مشخصات زیر ارتباط برقرار کنیم

آدرس سرور : vpn.persianadmins.com

نام کاربری : reza

پسورد : behroozi

نام تانل ارتباطی : persianadmins

خوب با این مشخصات بدین ترتیب عمل می کنیم :

nano /etc/ppp/chap-secrets
reza * behroozi * #Persianadmins

فایل ازتباطی با نام persianadmins را می سازیم و تنظیم می کنیم :

nano /etc/ppp/peers/persianadmins

pty "pptp vpn.persianadmins.com --nolaunchpppd"
name reza
remotename *
require-mppe-128
file /etc/ppp/options.pptp
ipparam persianadmins

تنظیمات به پایان رسید و حال میتوانیم با سرور ارتباط برقرار کنیم :

pppd call persianadmins

و دستور دیگر برای لینوکس های بر پایه دبین

pon persianadmins

اگر همه چیز به درستی انجام شده باشد ارتباط برقرار می شود و شما می توانید با مشاهده ifconfig ببینید که یک اینترفیس با نام pppX اضافه شده است.

در صورت بروز خطا می توانید با مشاهده خطاها در فایل var/log/messages/ در ردهت و var/log/syslog/ در دبین به حل مشکل بپردازید.

برای قطع ارتباط می توانید ابنگونه عمل کنید :

1-killall pppd که همه ی ارتباطات ppp را قطع خواهد کرد

2- kill pppd-PID برای قطع کردن یک ارتباط خاص با داشتن PID

3- poff tunnel-name برای لینوکس های بر پایه دبین

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

۱۳۸۶ مرداد ۹, سه‌شنبه

آموزش تصویری تنظیم Call manager بر روی روتر سیسکو


در این آموزش به تنظیم call manager بر روی روترهای سیسکو میپردازیم.روترهای سری 7200 , 3700 , 3600 , 2800 و 2600 این قابلیت را دارند که به عنوان call manager عمل کنند.
پر واضح است که OS موجود بر روی روتر میبایست از VOIP پشتیبانی کند.
تعداد تلفن ها در هر سری متفاوت میباشد که در شکل زیر حداکثر تعداد تلفنی که قابل تنظیم در سری های مختلف میباشد آورده شده :




برای سمت کلاینت میتوان از IP تلفنی های سری 79XX شرکت سیسکو و همچنین تلفن های نرم افزاری همچون VTGO-PC-IPBlue استفاده کرد.(در این آموزش از مدل نرم افزاری استفاده میکنیم)






یک نمونه کانفیک ساده و با حذف موارد اضافی برای تنظیم call manager بر روی روترهای سیسکو :

version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname PersianAdmins
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
!
resource policy
!
memory-size iomem 5
ip subnet-zero
ip cef
!
!
no ip dhcp use vrf connected
!
!
no ftp-server write-enable
!
!
interface FastEthernet0/0
ip address 192.168.0.5 255.255.255.0
duplex auto
speed auto
!
!
ip classless
!
ip http server
!
!
control-plane
!
!
telephony-service
max-ephones 2
max-dn 2
ip source-address 192.168.0.5 port 2000
max-conferences 8 gain -6

!
!
ephone-dn 1
number 3000

!
!
ephone-dn 2
number 4000

!
!
ephone 1
mac-address 00FF.A6F8.CBB5
type 7960
button 1:1

!
!
ephone 2
mac-address 000C.2907.82f1
type 7960
button 1:2

!
!
line con 0
line aux 0
line vty 0 4
login
!
!
end
تنظیم کلاینت :
برای سمت کلاینت از تلفن نرم افزاری VTGO-PC محصول IPBlue که از این اینجا نسخه آزمایشی آن قابل در یافت است استفاده میکنیم.
نمایی از تلفن های (IP phone) ساخت شرکت سیسکو :

۱۳۸۶ مرداد ۸, دوشنبه

مدیریت سرویس ها در زمان start-up در دبین و آبانتو بهمراه آموزش تصویری

سرویس های لینوکس را میتوان به وسیله اسکریپتهایی که در etc/init.d/ قرار دارند start , stop و reload کرد.
با این وجود , در مدت بالا آمدن سیستم یا وقتی که سطح اجرایی (runlevel) را تغییر می دهیم , سیستم اسکریپت ها را در /etc/rcX.d/ جستجو می کند که X شماره سطح اجرایی می باشد.
فایل های درون etc/rcX.d در واقع لینک هایی به اسکریپتهای درون دایرکتوری etc/init.d/ می با شند.
این آموزش شرح خواهد داد که چطور شخصی میتواند سرویسی را در زمان بالا آمدن سیستم یا اصطلاحا start-up فعال , غیرفعال و کلا مدیریت کند.
وقتی که یک سرویس را در دبین و خانواده آن نصب می کنید , بطور پیش فرض در start-up فعال می شود.

بطور مثال اگر شما apache2 را نصب کنید , سرویس apache همان زمان شروع به کار میکند و برای فعال شدن در شروع مجدد سیستم هم تنظیم می شود.
اگر شما از apache در همه زمان ها استفاده نمی کنید , ممکن است بخواهید این سرویس در زمان start-up غیرفعال باشد و براحتی فقط زمانی که به آن نیاز دارید با دستور زیر سرویس را فعال کنید :
etc/init.d/apache2 start/#
شما می توانید این سرویس را درزمان بوت غیر فعال کنید به وسیله حذف تمامی لینک های سمبلیک در etc/rcX.d/SYYapache2/ یا با استفاده از sysv-rc-conf , update-rc.d و ....
مزیت استفاده از sysv-rc-conf , update-rc.d و ابزارهای مشابه در اینست که وظیفه حذف یا اضافه کردن تمام لینک های مورد نیاز به etc/init.d/ را بصورت خودکار انجام می دهد.

apache2 را بعنوان مثال در نظر می گیریم , وضعیت apache در etc/rcX.d/ را مورد بررسی قرار می دهیم :

ls -l /etc/rc?.d/*apache2

lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc0.d/K91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc1.d/K91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc2.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc3.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc4.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc5.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc6.d/K91apache2 -> ../init.d/apache2

چنانکه قابل مشاهده میباشد , برای سطوح اجرایی 0 , 1 و 6 لینک ها با حرف K شروع می شوند و سطوح اجرایی 2 , 3 , 4 و 5 با S آغاز میشوند.این دو حرف از Kill و Start گرفته شده است.
در دبین و آبانتو سطوح اجرایی 2 , 3 , 4 و 5 از نوع چند کاربره می باشد و سطح اجرایی 2 بصورت پیش فرض تعیین شده است.
سطح اجرایی 0 برای خاموش کردن سیستم می باشد.
سطح اجرایی 1 مد تک کاربر میباشد.
سطح اجرایی 6 برای شروع مجدد سیستم می باشد.
با استفاده از دستور runlevel می توان سطح اجرایی فعلی را مشخص کرد.خروجی این دستور همانند زیر است :
PersianAdmins:~# runlevel
N 2
N نشان دهنده حالت عادی یا normal و S نشان دهنده حالت تک کاربره یا single می باشد.عدد بعد از این حروف نشان دهنده سطح اجرایی در حال حاظر می باشد.
همچنین با استفاده از فایل etc/inittab/ سطح اجرایی پیش فرض قابل مشاهده و تغییر است.
وقتی سیستم در حال بوت شدن می باشد به فایل etc/inittab/ رجوع می کند و سطح اجرایی پیش فرض را می خواند که در اینجا سطح اجرایی 2 می باشد , سپس به دایرکتوری etc/rc2.d/ می رود و تمامی اسکرپیت ها را به ترتیب اولویت اجرا می کند.اولویت بر اساس شماره بعد از S می باشد که هر چه عدد کوچکتر باشد زودتر اجرا می شود و اگر دو لینک هم عدد باشند بر اساس حروف الفبا اولویت بندی می شوند.
ارزش این اولویت بندی در سرویس هایی که وابسته به دیگر سرویس ها می باشند مشخص می شود تا سرویس مادر زودتر اجرا شود.
در هنگام خاموش شدن سیستم این اولویت بندی برعکس می باشد بطوریکه لینک با عدد بزرگتر زودتر غیر فعال می شود.
مدیریت سرویس ها در زمان start-up با update-rc.d
1)حذف کردن سرویس از start-up
اگر شما می خواهید سرویس apache2 را بصورت کامل و دستی غیر فعال کنید , می بایست هر لینک در etc/rcX.d/ را حذف کنید.با استفاده از update-rc.d این کار بدین آسانی می باشد :
update-rc.d -f apache2 remove #
از f- برای مجبور کردن سیستم در حذف لینک ها حتی در صورت وجود etc/init.d/apache2/ استفاده می کنیم.
2)اضافه کردن سرویس به start-up
برای اضافه کردن سرویس به start-up میتوان از اولویت پیش فرض استفاده کرد یا اولویت مورد نظر خودمان را بکار برد.
2.1-با اولویت پیش فرض (Default priorities)
حال اگر بخواهیم سرویس را دوباره تنظیم کنیم تا زمان بوت فعال شود , به آسانی قابل انجام است :
update-rc.d apache2 defaults
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K20apache2 -> ../init.d/apache2
/etc/rc1.d/K20apache2 -> ../init.d/apache2
/etc/rc6.d/K20apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2

2.2-با اولویت دلخواه (Custom priorities)
اما چنانکه میتوانید مشاهده کنید , مقدار پیش فرض 20 میباشد که در مقایسه با 91 نسبتا متفاوت است.
یک لینک S20 قبل از S91 فعال می شود و یک K91 قبل از k20 غیر فعال می شود.
برای اینکه apache2 را مجبور کنیم برای فعال و غیر فعال شدن با اولویت 91 عمل کند , همانند زیر عمل میکنیم :
update-rc.d apache2 defaults 91
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K91apache2 -> ../init.d/apache2
/etc/rc1.d/K91apache2 -> ../init.d/apache2
/etc/rc6.d/K91apache2 -> ../init.d/apache2
/etc/rc2.d/S91apache2 -> ../init.d/apache2
/etc/rc3.d/S91apache2 -> ../init.d/apache2
/etc/rc4.d/S91apache2 -> ../init.d/apache2
/etc/rc5.d/S91apache2 -> ../init.d/apache2
2.3-اولویت های متفاوت برای فعال کردن و غیر فعال کردن (Different priorities for Start and Kill)
متعاقبا , اگر بخواهید اولویت فعال شدن متفاوت از غیر فعال شدن باشد , می بایست بدین ترتیب عمل کنید :
(در اینجا اولویت 20 را برای start و 80 را برای kill در نظر می گیریم )
update-rc.d apache2 defaults 20 80
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2


3.Specifying custom runlevels
در پایان اگر شما تمایل دارید سرویس ها فقط در سطوح اجرایی خاصی فعال و غیرفعال شوند , مثلا apache با اولویت 20 را در سطوح اجرایی 2 , 3 , 4 و 5 فعال و در سطوح اجرایی 0 , 1 و 6 غیر فعال کنیم:
update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2
یا فقط در سطح اجرایی 2 اجرا شود :
update-rc.d apache2 start 20 2 .
Adding system startup for /etc/init.d/apache2 ...
/etc/rc2.d/S20apache2 -> ../init.d/apache2
یا برای فعال شدن در سطوح اجرایی 2 , 3 و 4 با اولویت 20 و فعال شدن در سطح اجرایی 5 با اولویت 30 و غیرفعال شدن در سطوح اجرایی 0 , 1 و 6 با اولویت 80 :
update-rc.d apache2 start 20 2 3 4 . start 30 5 . stop 80 0 1 6 .
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S30apache2 -> ../init.d/apache2
مدیریت سرویس ها در زمان start-up با sysv-rc-conf
ابزار sysc-rc-conf که برای مدیریت سرویس ها در زمان start-up استفاده می شود , کارکردی شبیه chkconfig در لینوکس های بر پایه ردهت دارد به علاوه دارا بودن ابزار گرافیکی تحت شل که مدیریت سرویس ها را آسانتر می کند و اگر دستور sysv-rc-conf را بدون هیچ گزینه ای استفاده کنیم این محیط گرافیکی همانند شکل زیر ظاهر می شود.

همانطور که مشاهده می کنید , مدیریت سرویس ها توسط این محیط گرافیکی در همه سطوح اجرایی ممکن و به آسانی قابل انجام است و نقطه قوت این ابزار اجرا شدن آن در محیط متنی که هیچ گونه محیط گرافیکی بر روی سیستم نصب نیست ,می باشد.
از Sysc-rc-conf بدون استفاده از این محیط هم میتوان برای مدیریت سرویس ها استفاده کرد که در ادامه به آن می پردازیم.
نصب این ابزار بدین گونه میباشد :
apt-get install sysv-rc-conf
لازم به تذکر است که اگر با کاربر root به سیستم وارد نشده اید ابتدای هر دستور از sudo استفاده می کنیم.
برای مشاهده لیست سرویس ها و وضعیت آنها :
PersianAdmins:~# sysv-rc-conf --list
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
apache2 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
....
....
umountroot 0:on 6:on
urandom 0:on 6:on S:on
winbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off



یا مثلا مشاهده وضعیت یه سرویس خاص مثل mysql :
PersianAdmins:~# sysv-rc-conf --list mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
برای فعال کردن یک سرویس مثلا apache2 در سطوح اجرایی 2 و 5 بدین نحو عمل می کنیم :
sysv-rc-conf apache2 on
یا برای غیر فعال کردن در سطوح اجرایی 2 و 5 :
sysv-rc-conf apache2 off
همچنین شما می توانید در هر سطح اجرایی که دوست دارید سرویس را فعال یا غیرفعال کنید.در اینجا سرویس apache2 را سطوح اجرایی 3 و 5 فعال می کنیم :
sysv-rc-conf --level 35 apache2 on
مدیریت سرویس ها در زمان start-up با rcconf
گزینه دیگر برای مدیریت سرویس ها rcconf میباشد که بر خلاف update-rc.d بصورت ساده تر و ویژوال قابل انجام است ولی نسبت به sysv-rc-conf دارای گزینه ها و امکانات کمتری است.
برای نصب rcconf بدین صورت عمل می کنیم :
apt-get install rcconf
برای اجرا شدن در شل rcconf را تایپ میکنیم و بعد از آن پنجره ای همانند شکل زیر ظاهر میشود و از طریق آن براحتی میتوانیم به مدیریت سرویس ها بپردازیم .

مدیریت سرویس ها در زمان start-up با file-rc
ابزار دیگر مدیریت سطوح اجرایی file-rc می باشد که برخلاف ابزارهای قبلی نه دستوری است و نه گرافیکی , بلکه تنظیمات توسط فایل etc/runlevel.conf/ صورت می پذیرد.
نمونه این فایل در اینجا قابل مشاهده می باشد.
نصب این ابزار مدیریتی :
apt-get install file-rc

طریقه تنظیم start-up برای یک اسکریپت خاص
گاهی اوقات پیش میآید که میخواهیم یک اسکریپت مورد نظرمون را طوری تنظیم کنیم که در زمان srart-up اجرا و فعال شود , برای رسیدن به این هدف بدین گونه عمل میکنیم :
ابتدا اسکریپت مورد نظر را در etc/init.d/ میسازیم :
touch /etc/init.d/behroozi
سپس محتویات اسکریپت مورد نظر را می نویسیم (محتویات زیر برای تست میباشد) :
bin/bash!#/
echo "this is a sample service"
echo reza > /reza/behroozi
حال مجوز لازم برای اجرای اسکریپت را به آن می دهیم :
chmod +x /etc/init.d/behroozi
حال برای اینکه در زمان start-up اجرا شود دستور زیر را بکار ببرید :
update-rc.d behroozi defaults
و برای اینکه بطور دستی این اسکریپت را مثلا در سطح اجرایی 2 تنظیم کنید تا فعال شود بدین ترتیب عمل می کنیم :
ln -s /etc/init.d/behroozi /etc/rc2.d/S91behroozi
حال اگر با دستور init 6 سیستم را دوباره راه اندازی کنید در فایل reza/behroozi/ کلمه reza نوشته شده است.