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

Inode Number چیست؟ بررسی مفهوم inode در فایل سیستم

هر پارتیشن در GNU/Linux برای خودش دارای یک فایل سیستم است. در یک فایل سیستم هر فایل با استفاده از یک inode نمایش داده می شود. inode در واقع مخفف کلمه های index node است ، inode ها ساختارهای داده ای هستند که شامل اطلاعاتی در خصوص فایل هایی هستند که توسط فایل سیستم ایجاد می شود. یعنی با به وجود آمدن هر فایل توسط یک فایل سیستم در کنار فایل inode ای به وجود می آید که اطلاعات metadata یا تکمیلی در خصوص فایل را به ما نمایش می دهد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

هر فایل در واقع با همین inode شناخته می شود که در کنار آن قرار گرفته است و یک شماره نیز در کنار هر inode قرار گرفته است که به inode number معروف است. بنابراین هر فایل دارای یک inode است ، هر inode دارای یک شماره است که توسط فایل سیستم برای آن در نظر گرفته می شود و تعیین کننده محل قرارگیری فایل است. هر پارتیشن برای خودش یک سری از inode های خود را دارد. هر کدام از inode ها برای خودشان یک ساختار داده بر روی دیسک را تشریح می کنند ، یک inode می تواند اطلاعاتی از قبیل محل فیزیکی قرارگیری فایل داده را در خود نگهداری کند.

زمانیکه هارد دیسک شروع به کار می کند یک تعداد ثابت inode برای هر پارتیشن آن ایجاد می شود. این تعداد inode در واقع تعیین کننده حداکثر تعداد فایل ها از هر نوع ( دایرکتوری ها ، فایل های خاص ، لینک ها و ... ) که می تواند بر روی پارتیشن در لحظه وجود داشته باشد است. همانطور که گفتیم بعد از ایجاد شدن یک فایل برای آن یک inode بصورت خودکار ایجاد می شود که شامل اطلاعات زیر است :

  1. مالک یا مالکین فایل
  2. نوع فایل
  3. دسترسی ها به فایل
  4. زمان و تاریخ ایجاد ، آخرین خواندن و تغییر فایل
  5. زمان و تاریخ اعمال تغییرات بر روی inode
  6. تعداد لینک ها به فایل
  7. اندازه فایل
  8. آدرس فایل بر روی هارد دیسک
Size: 22661 Blocks: 48 IO Block: 4096 regular file
Device: 811h/2065d Inode: 160 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ buse) Gid: ( 1000/ buse)
Access: 2013-05-26 00:00:00.000000000 -0400
Modify: 2013-05-26 17:58:04.000000000 -0400
Change: 2013-05-26 17:58:02.180000000 -0400
Birth: 

در بالا محتویات یک inode را مشاهده می کنید ، تنها اطلاعاتی که در inode وجود ندارد نام فایل یا دایرکتوری است. این اطلاعات در فایل های خاص دایرکتوری ذخیره می شوند. با استفاده از مقایسه کردن اسامی فایل ها و inode number ها ، سیستم جلوه ای از فایل را به ما نمایش می دهد که برای کاربر قابل فهم باشد.

اگر می خواهید inode number یک فایل را بدست بیاورید کافیست در سیستم عامل لینوکس از دستور ls با پارامتر i- استفاده کنید. دقت کنید که هر چیزی که در inode وجود دارد به عنوان metata است و هیچ داده ای در inode ها وجود ندارد. در واقع inode یک پایگاه داده است که اطلاعات جانبی در خصوص فایل ها را در خود نگه می دارد. در دیسک ها بصورت طبیعی 1 درصد فضای دیسک برای استفاده توسط inode ها در نظر گرفته می شود. هر Entry یا موجودیت در inode ها 128 بایت ظرفیت دارد. امیدوارم مورد توجه شما قرار گرفته باشد. ITPRO باشید

نویسنده : محمد نصیری

منبع : انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات