Academy and Foundation unixmens | Your skills, Your future
2.27K subscribers
6.66K photos
1.37K videos
1.23K files
6.05K links
@unixmens_support
@yashar_esm
[email protected]
یک کانال علمی تکنولوژی
فلسفه متن باز-گنو/لینوکس-امنیت - اقتصاد
دیجیتال
Technology-driven -بیزینس های مبتنی بر تکنولوژی
Enterprise open source
ارایه دهنده راهکارهای ارتقای سازمانی - فردی - تیمی
Download Telegram
Using grep to find string in files
------------------------------------------------
search for a string called ‘redeem reward’ in all text (*.txt) files located in /home/tom/ directory, use:
$ grep "redeem reward" /home/tom/*.txt
OR
$ grep "redeem reward" ~/*.txt

You can search for a text string all files under each directory, recursively with -r option:
$ grep -r "redeem reward" /home/tom/
OR
$ grep -R "redeem reward" /home/tom/

By default, the grep command prints the matching lines. You can pass -H option to print the filename for each match:
$ grep -H -r "redeem reward" /home/tom

To just display the filename use the cut command as follows:
$ grep -H -R vivek /etc/* | cut -d: -f1

The grep command shows output on a separate line, and it is preceded by the name of the file in which it was found in the case of multiple files. You can pass the -h option to suppress inclusion of the file names in the output:
$ grep -h -R 'main()' ~/projects/*.c

You can select only those lines containing matches that form whole words using the -w option. In this example, search for word ‘getMyData()’ only in ~/projects/ dirctory:
$ grep -w -R 'getMyData()' ~/projects/

Search for two or more words
Use the egrep command as follows:
$ egrep -w -R 'word1|word2' ~/projects/

Pass the —color option to the grep command display matched text/words in color on the terminal:
$grep —color -R 'word' /path/to/dir

#daily_linux_tips #linux #lx_learning #lx_commands
برای تازه کارهای(Novice) مدیریت سیستم:

داشتن توانایی و انگیزه بالا در یادگیری
توانایی دنبال کردن دستورالعمل ها
مهارت های تحلیلی قوی
دانش استفاده از بسترهای موجود که از کارهای کلاسی و یا تجربیات کارهای قبلی بدست آمده اند.آشنایی با سیستم عامل و فرمانها/ابزارها ی آن در سطح کاربر، شامل توانایی ویرایش فایلها ،استفاده از ابزارهای و دستورات پایه، آشنایی مناسب با فایل سیستم و نصب نرم افزار بر روی ایستگاه های کاری است.
آگاهی ازنیازمندی های امنیتی.
علاقه به روش های ساخت یافته برای مدیریت پیکر بندی سیستم.
کنجکاوی فکری قوی، انگیزه برای پیشرفت در این حرفه.
گرفتن اولین مدرک حرفه‌ای خود، که CompTIA Linux+ و LPIC-1 و LFCS بهترین انتخاب ها هستند.دریافت این گواهینامه ها نیازمند به داشتن دانش هایی مانند مدیریت مجوز های دسترسی فایل، تهیه پشتیبان ، پارتیشن بندی دستگاه های ذخیره سازی و عیب یابی فایل سیستم است.
کمک به پروژه های زیربنایی متن باز، مانند ردهت وحمایت از oVirt.
عضویت در گروه های محلی لینوکسی[مانند گروه کاربران لینوکس اصفهان] همچنین جوامع آنلاین مانند کاربران لینوکس در شبکه اجتماعی لینکداین و گروه توسعه دهندگان متن باز.



برای سطح Junior مدیریت سیستم:

تجربه کار با بسترهای مورد استفاده – حداقل 24 ماه.
ثبت تاریخچه حل مسائل پایه‌ای در ارتباط با مدیریت پیکربندی سیستم ، به اشتراک گذاری منابع و مفاهیم شبکه های عمومی.
قابلیت آموزش کاربران در استفاده از برنامه ها و اصول سیستم عامل ونوشتن مستندات آموزشی.
تجربه در حل و فصل مسائل امنیتی.
تجربه در ثبت سیاست‌های نگهداری و خرابی.
تجربه کار با مدیریت هویت کاربر.
توانایی نظارت و شناسایی تخلفات در خط مشی وسیاست های شبکه و شکاف و نقض های سیستم.
توانایی برقراری ارتباط در موضوعات غیر فنی با افراد غیر فنی.
درک استراتژی سیستم سازمانی و مسیر عملیاتی کسب و کار .
قابلیت نوشتن اسکریپت ها در برخی از زبان اجرایی، مانند پرل، پایتون، VBScript یا Windows PowerShell.



برای سطح Senior مدیریت سیستم:

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



برگرفته از: Linux Foundation Training:10 Essential Skills for Novice, Junior and Senior SysAdmin
*مهارتهای تست نفوذ

چندی پیش یکی از دوستان درگروه، در مورد مهارتهای لازم برای Penetration testing یا همون تست نفوذ، سوال کردند.
یکی از منابعی که ازش استفاده کردیم این طوری عنوان کرده که مهارتهای مشترکی برای اینکار نیاز است که افراد میتونن سطوح مختلفی رو دارا باشند. این مهارتها عبارتند از:
1. تسلط به سیستم عامل
2. دانش خوب در زمینه شبکه و پروتکلهای شبکه
3. دانش اولیه در خصوص نوشتن اسکریپت مثل vbs یا bash
4. آشنایی با فایروال و چگونگی کارکرد و پیکر بندی اون
5. آشنایی به زبانهای برنامه نویسی
6. آشنایی با پایگاه های داده و چگونگی کار کردشون
7. آگاهی از قوانین جرایم رایانه ای
8. ...

از طرفی یکی از نمونه های ذکر شده برای شغل Penetration tester طبق لیست زیر اومده:

1. Windows, UNIX and Linux operating systems
2. C, C++, C#, Java, ASM, PHP, PERL
3. Network servers and networking tools (e.g. Nessus, nmap, Burp, etc.)
4. Computer hardware and software systems
5. Web-based applications
6. Security frameworks (e.g. ISO 27001/27002, NIST, HIPPA, SOX, etc.)
7. Security tools and products (Fortify, AppScan, etc.)
8. Vulnerability analysis and reverse engineering
9. Metasploit framework
10. Forensics tools
11. Cryptography principles

هر چند پاسخ به این سوال خیلی دقیق نمیتونه باشه وبه نظرم کامل نیست ولی معمولا متخصصان این کار همگی این مهارتها رو به خوبی دارند.

امیدوارم مفید واقع شده باشه.

#Penetration testing skill #تست نفوذ

منبع
https://resources.infosecinstitute.com/ideal-skill-set-for-the-penetration-testing
https://www.cyberdegrees.org/jobs/penetration-tester
*پایگاه داده آسیب پذیری ها و Exploit ها

به توصیه یکی از دوستان امروز راجع به تعدادی پایگاه داده صحبت می کنیم. این پایگاه داده ها کارشون جمع آوری، حفظ و انتشار اطلاعات در مورد آسیب پذیری های کشف شده است. آسیب پذیری هایی که سیستم های کامپیوتری واقعی را هدف قرار داده اند.
در حال حاضر تعداد زیادی از این پایگاه های داده برای جمع آوری داده از منابع مختلف آسیب پذیری های نرم افزاری مورد استفاده قرار می گیرد. این اطلاعات اساسا شامل توصیف آسیب پذیری، چگونگی سو استفاده از آن(exploitability)، اثر بالقوه آن(potential impact) و سایر مسائل مرتبط با سیستم های آسیب پذیر است.
از پایگاه داده آسیب پذیری ها می توان به National Vulnerability Database و Open Source Vulnerability Database اشاره نمود.
این پایگاه داده هم برای هکرها و هم برای متخصصین امنیت مورد استفاده قرار می گیره.
بسیاری از فروشندگان محصولات امنیتی پایگاه داده های تجاری خود را دارند و تحلیلگران، تمام وقت مشغول پژوهش و انتشار اطلاعات آسیب پذیری ها هستند.

# Vulnerability Database
منبع
https://en.wikipedia.org/wiki/Vulnerability_database

لینک برخی از این پایگاه های داده رو برای استفاده میذارم
https://nvd.nist.gov
https://osvdb.org
https://www.exploit-db.com
https://www.rapid7.com/db/vulnerabilities
https://cxsecurity.com
https://cve.mitre.org/index.html
https://www.cvedetails.com
https://www.securityfocus.com/archive/1


وحتی برخی پایگاه داده های خاص مثل پایگاه داده آسیب پذیری های wordpress و drupal
https://www.wordpressexploit.com
https://www.drupalexploit.com
برگی از تاریخ . نحوه گرفتن screenshot #history @unixmens
🌹ﮐﻼﺱ ﺍﻭﻝ ﺩﺑﺴﺘﺎﻥ، شیراز ﺑﻮﺩﻡ ﺳﺎﻝ ١٣٤٠،
ﻭﺳﻄﺎﯼ ﺳﺎﻝ ﺍﻭﻣﺪﯾﻢ اصفهان ﯾﻪ ﻣﺪﺭﺳﻪ ﺍﺳﻤﻢ ﺭﺍ ﻧﻮﺷﺘﻨﺪ،
ﺷﻬﺮﺳﺘﺎﻧﯽ ﺑﻮﺩﻡ،
ﻟﻬﺠﻪ ﻏﻠﯿﻆ ترکی قشقایی،
ﺍﺯ ﺷﻬﺮﯼ ﻏﺮﯾﺐ
ﻣﺎ ﮐﺘﺎﺑﻤﺎﻥ ﺩﺍﺭﺍ اناﺭ ﺑﻮﺩ
ﻭﻟﯽ اصفهان ﺁﺏ ﺑﺎﺑﺎ
معضلی ﺑﻮﺩ ﺑﺮﺍﯼ ﻣﻦ،
ﻫﯿﭽﯽ ﻧﻤﯽ ﻓﻬﻤﯿﺪﻡ
ﺍﻟﺒﺘﻪ ﺗﻮ ﺷﻬﺮ ﺧﻮﺩﻣﺎﻥ ﻫﻢ ﻫﻤﭽﯿﻦ ﺧﺒﺮﯼ ﺍﺯ ﺷﺎﮔﺮﺩ ﺍﻭﻝ ﺑﻮﺩﻧﻢ ﻧﺒﻮﺩ ﻭﻟﯽ ﺑﺎ ﺳﺨﺘﯽ ﻭ ﺑﺪﺑﺨﺘﯽ ﺩﺭﺳﮑﯽ ﻣﯿﺨﻮﻧﺪﻡ.
ﺗﻮ اصفهان ﺷﺪﻡ ﺷﺎﮔﺮﺩ ﺗﻨﺒﻞ ﮐﻼﺱ
ﻣﻌﻠﻢ ﭘﯿﺮ ﻭ ﺑﯿﺤﻮﺻﻠﻪ ﺍﯼ ﺩﺍﺷﺘﯿﻢ
ﮐﻪ ﺷﺪ ﺩﺷﻤﻦ ﻗﺴﻢ ﺧﻮﺭﺩﻩ ﻣﻦ
ﻫﺮ ﮐﺲ ﺩﺭﺱ ﻧﻤﯽ ﺧﻮﺍﻧﺪ ﻣﯿﮕﻔﺖ : ﻣﯽ ﺧﻮﺍﯼ ﺑﺸﯽ ﻓﻼﻧﯽ ﻭ ﻣﻨﻈﻮﺭﺵ ﻣﻦ ﺑﯿﻨﻮﺍ ﺑﻮﺩﻡ
ﺑﺎ ﻫﺰﺍﺭ ﺯﺣﻤﺖ ﺭﻓﺘﻢ ﮐﻼﺱ ﺩﻭﻡ
ﺁﻧﺠﺎ ﻫﻢ ﺍﺯ ﺑﺨﺖ ﺑﺪ ﻣﻦ، ﺍﯾﻦ ﺧﺎﻧﻢ ﺷﺪ ﻣﻌﻠﻤﻤﺎﻥ
ﻫﻤﯿﺸﻪ ﺗﻪ ﮐﻼﺱ ﻣﯽ ﻧﺸﺴﺘﻢ ﻭ ﮔﺎﻫﯽ ﻫﻢ ﭼﻮﺑﯽ ﻣﯿﺨﻮﺭﺩﻡ ﮐﻪ ﯾﺎﺩﻡ ﻧﺮﻭﺩ ﮐﯽ ﻫﺴﺘﻢ!!
ﺩﯾﮕﺮ ﺧﻮﺩﻡ ﻫﻢ ﺑﺎﻭﺭﻡ ﺷﺪﻩ ﺑﻮﺩ ﮐﻪ ﺷﺎﮔﺮﺩ ﺗﻨﺒﻠﯽ ﻫﺴﺘﻢ ﺗﺎ ﺍﺑﺪ.......
ﮐﻼﺱ ﺳﻮﻡ ﯾﮏ ﻣﻌﻠﻢ ﺟﻮﺍﻥ ﻭ ﺯﯾﺒﺎ ﺁﻣﺪ ﻣﺪﺭﺳﻪ ﻣﺎﻥ
ﻟﺒﺎﺳﻬﺎﯼ ﻗﺸﻨﮓ ﻣﯽ ﭘﻮﺷﯿﺪ ﻭ ﺧﻼﺻﻪ ﺧﯿﻠﯽ ﮐﺎﺭ ﺩﺭﺳﺖ ﺑﻮﺩ،
ﺍﻭ ﺭﺍ ﺑﺮﺍﯼ ﮐﻼﺱ ﻣﺎ ﮔﺬﺍﺷﺘﻨﺪ،
ﻣﻦ ﺧﻮﺩﻡ ﺍﺯ ﺍﻭﻝ ﺭﻓﺘﻢ ﺗﻪ ﮐﻼﺱ ﻧﺸﺴﺘﻢ. ﻣﯿﺪوﻧﺴﺘﻢ ﺟﺎﻡ ﺍﻭﻧﺠﺎﺳﺖ
ﺩﺭﺱ ﺩﺍﺩ، ﻣﺸﻖ ﮔﻔﺖ ﮐﻪ ﺑﺮﺍﻱ ﻓﺮﺩﺍ ﺑﯿﺎﺭﯾﻦ.
ﺍﻧﻘﺪﺭ ﺑﻪ ﺩﻟﻢ ﻧﺸﺴﺘﻪ ﺑﻮﺩ ﮐﻪ ﺗﻤﯿﺰ ﻣﺸﻘﻢ ﺭﺍ ﻧﻮﺷﺘﻢ
ﻭﻟﯽ ﻣﯽ ﺩﺍﻧﺴﺘﻢ ﻧﺘﯿﺠﻪ ﺗﻨﺒﻞ ﮐﻼﺱ ﭼﯿﺴﺖ!
ﻓﺮﺩﺍﺵ ﮐﻪ ﺍﻭﻣﺪ، ﯾﮏ ﺧﻮﺩﻧﻮﯾﺲ ﺧﻮﺷﮕﻞ ﮔﺮﻓﺖ ﺩﺳﺘﺶ ﻭ ﺷﺮﻭﻉ
ﮐﺮﺩ ﺑﻪ ﺍﻣﻀﺎ ﮐﺮﺩﻥ ﻣﺸﻖ ﻫﺎ...
ﻫﻤﮕﯽ ﺷﺎﺥ ﺩﺭ ﺁﻭﺭﺩﻩ ﺑﻮﺩﯾﻢ
ﺁﺧﻪ ﻣﺸﻘﺎﻣﻮﻥ ﺭﺍ ﯾﺎ ﺧﻂ ﻣﯿﺰﺩﻥ ﯾﺎ ﭘﺎﺭﻩ ﻣﯽ ﮐﺮﺩﻥ،
ﻭﻗﺘﯽ ﺑﻪ ﻣﻦ ﺭﺳﯿﺪ ﺑﺎ ﻧﺎﺍﻣﯿﺪﯼ ﻣﺸﻘﺎﻣﻮ ﻧﺸﻮﻥ ﺩﺍﺩﻡ،
ﺩﺳﺘﺎﻡ ﻣﯽ ﻟﺮﺯﯾﺪ
ﻭ ﻗﻠﺒﻢ ﺑﻪ ﺷﺪﺕ ﻣﯽ ﺯﺩ.
ﺯﯾﺮ ﻫﺮ ﻣﺸﻘﯽ ﯾﻪ ﭼﯿﺰﯼ ﻣﯿﻨﻮﺷﺖ،
ﺧﺪﺍﯾﺎ ﺑﺮﺍ ﻣﻦ ﭼﯽ ﻣﯽ ﻧﻮﯾﺴﻪ؟!!!
ﺑﺎ ﺧﻄﯽ ﺯﯾﺒﺎ ﻧﻮﺷﺖ:
ﻋﺎﻟﯽ
ﺑﺎﻭﺭﻡ ﻧﻤﯽ ﺷﺪ
ﺑﻌﺪ ﺍﺯ ﺳﻪ ﺳﺎﻝ ﺍﯾﻦ ﺍﻭﻟﯿﻦ ﮐﻠﻤﻪ ﺍﯼ ﺑﻮﺩ ﮐﻪ ﺩﺭ ﺗﺸﻮﯾﻖ ﻣﻦ ﺑﯿﺎﻥ ﺷﺪﻩ ﺑﻮﺩ
ﻟﺒﺨﻨﺪﯼ ﺯﺩ ﻭ ﺭﺩ ﺷﺪ ﺳﺮﻡ ﺭﺍ ﺭﻭﯼ ﺩﻓﺘﺮﻡ ﮔﺬﺍﺷﺘﻢ ﻭ ﮔﺮﯾﻪ ﮐﺮﺩﻡ ﺑﻪ ﺧﻮﺩﻡ ﮔﻔﺘﻢ ﻫﺮﮔﺰ ﻧﻤﯽ ﮔﺬﺍﺭﻡ ﺑﻔﻬﻤﺪ ﻣﻦ ﺗﻨﺒﻞ ﮐﻼﺳﻢ ﺑﻪ ﺧﻮﺩﻡ ﻗﻮﻝ ﺩﺍﺩﻡ ﺑﻬﺘﺮﯾﻦ ﺑﺎﺷﻢ...
ﺁﻥ ﺳﺎﻝ ﺑﺎ ﻣﻌﺪﻝ ﺑﯿﺴﺖ ﺷﺎﮔﺮﺩ ﺍﻭﻝ ﺷﺪﻡ ﻭ ﻫﻤﯿﻨﻄﻮﺭ
ﺳﺎﻝ ﻫﺎﯼ ﺑﻌﺪ
ﻫﻤﯿﺸﻪ ﺷﺎﮔﺮﺩ ﺍﻭﻝ ﺑﻮﺩﻡ ﻭﻗﺘﯽ ﮐﻨﮑﻮﺭ ﺩﺍﺩﻡ ﻧﻔﺮ ﺷﺸﻢ
ﮐﻨﮑﻮﺭ ﺩﺭ ﮐﺸﻮﺭ ﺷﺪﻡ ﻭ ﺑﻪ ﺩﺍﻧﺸﮕﺎﻩ ﺗﻬﺮﺍﻥ ﺭﻓﺘﻢ
ﯾﮏ ﮐﻠﻤﻪ ﺑﻪ ﺁﻥ ﮐﻮﭼﮑﯽ ﺳﺮﻧﻮﺷﺖ ﻣﺮﺍ ﺗﻐﯿﯿﺮ ﺩﺍﺩ.
ﭼﺮﺍ ﮐﻠﻤﺎﺕ ﻣﺜﺒﺖ ﻭ ﺯﯾﺒﺎ ﺭﺍ ﺍﺯ ﺩﯾﮕﺮﺍﻥ ﺩﺭﯾﻎ ﻣﯽﮐﻨﯿﻢ؟؟؟؟
ﺑﻪ ﻭﯾﮋﻩ ﻣﺎ
ﭘﺪﺭﺍﻥ، ﻣﺎﺩﺭﺍﻥ، ﻣﻌﻠﻤﺎﻥ، ﺍﺳﺘﺎﺩﺍﻥ، ﻣﺮﺑﯿﺎﻥ، ﺭﺋﻴﺴﺎﻥ ﻭ...


ﺧﺎﻃﺮﻩ ﺍﯼ ﺍﺯ
امیرمحمد نادری قشقایی
ﺍﺳﺘﺎﺩ ﺭﻭﺍﻧﺸﻨﺎسی ﻭ ﻋﻠﻮﻡ ﺗﺮبیتی ﺩﺍﻧﺸﮕﺎﻩ ﻛﻨﺖ
ﺍﻧﮕﻠﺴﺘﺎﻥ🌹
مقایسه apache و iis
مقایسه apache و ngnix
۱۰ توصیه به دانشجویانی که می خواهند کارآفرین باشند.

پروفسور ارهان ارکوت از دانشگاه MEF ترکیه، ۱۰ پیشنهاد به دانشجویانی داد که می خواهند کارآفرین باشند:

1- از دانشگاه انتظار زیادی نداشته باشید.
2- حداقل یک شغل تابستانی (Summer Job) بگذارنید.
3- حداقل ۵ کتاب کارآفرینی بخوانید.
4- فعالیت های شتابدهنده ها را دنبال کنید. ( مانند:آواتک٬تَک٬تریگ آپ٬دیومند یا شتابدهنده ای دیگر )
5- نقش آفرینان مهم اکوسیستم کارآفرینی خود را بشناسید.
6- یک روز کامل را در شتابدهنده )مانند:آواتک٬تَک٬تریگ آپ٬دیومند یا شتابدهنده ای دیگر بگذرانید.)
7- پنج استارتاپ را انتخاب کنید و فعالیت هایشان را زیر نظر بگیرید.
8- به یک استارتاپ پیشنهاد کار نیمه وقت رایگان بدهید تا در کنارشان باشید.
9- برای یک کمپانی بزرگ حداقل ۵ سال کار کنید.
10- نوآوری درون سازمانی (Intrapreneurship) را در یک کمپانی انجام دهید.
Forwarded from Academy and Foundation unixmens | Your skills, Your future (yashar esmaildokht 🐧)
سوال یکی از دوستان بهانه ای شد برای نوشتن این مطلب
مفهوم Metadata چیست ؟

در ابتدا باید مفهوم metadata را بدانید. با توجه به تعاریف ساده ای که در اینترنت وجود دارد در واقع metadata یک data برای سایر data ها است. یعنی اگر شما یک نامه حاوی اطلاعات داشته باشید ، metadata ی شما در واقع ادرس پستی و مواردی است که بر روی پاکت نامه قرار دارند خواهد بود. Metadata در ساختار پارتیشن ها و دیسک ها حاوی اطلاعاتی در خصوص داده ها می باشد.
برای مثال و درک بهتر ، اگر شما یک ماشین خریده باشید یک سری اطلاعات با کاتالوگ ماشین در اختیار شما قرار می گیرد که بهتر بتوانید از ماشین استفاده کنید که این اطلاعات با خود ماشین همراه نیستند ، اطلاعاتی از قبیل شماره ثبت ماشین ، مدل ، سال تولید ، اطلاعات بیمه و ... از جمله metadata ای هستند که برای یک ماشین سواری به شما می توان ارائه داد. به تمام اینها metadata گفته می شود. در مفاهیم سیستم عامل لینوکس و یونیکس metadata در لایه های مختلف سیستم عامل وجود دارد از جمله پارتیشن ها و فایل سیستم ها که یکی از این مفاهیم که دارای metadata است به عنوان superblock شناخته می شود.
#file_system #storage @unixmens
Forwarded from Academy and Foundation unixmens | Your skills, Your future (yashar esmaildokht 🐧)
مفهوم superblock چیست ؟

در واقع superblock یک نوع metadata ی بسیار مهم برای فایل سیستم است که اطلاعاتی از قبیل نوع فایل سیستم ، اندازه ، وضعیت ، اطلاعات در خصوص سایر metadata های موجود ، ویژگی های فایل سیستم ، اندازه بلاک های فایل سیستم ، فضاهای خالی ، فضاهای پر شده ، محل قرارگیری جدول inode ها ، اطلاعات استفاده از دیسک و ... را در خودش نگه می دارد. تصور کنید که superblock شما از سیستم حذف شود !! چه اتفاقی می افتد ! در واقع سیستم دچار خلا ندانستن می شود و اطلاعاتی در خصوص محل داده های خودش نخواهد داشت ، با اینکه داده ها در سر جای خودشان قرار دارند. Superblock بسیار برای سیستم حیاتی است و به همین دلیل در فایل سیستم های قدرتمند این block بصورت خودکار در محل های مختلف دیسک یا پارتیشن شما بصورت خودکار backup گیری می شوند.

در واقع Superblock به عنوان یک metadata ی سطح بالا در ساختار فایل سیستم شناخته می شود. برای مثال اگر superblock پارتیشن var/ سیستم دچار اختلال بشود ، دیگر شما نمی توانید از این پارتیشن در حالت عادی بصورت mount شده استفاده کنید . در چنین مواردی است به شما کمک می کند و با استفاده از دستور fsck شما می توانید از superblock های backup گیری شده ای که در سطح فایل سیستم قرار دارند برای بازگردانی superblock ای که primary است استفاده کنید و مشکل را برطرف کنید. کپی های backup ای که از superblock ها گرفته می شود در تقریبا سراسر فایل سیستم پخش می شوند اما اولین offset از این داده ها در ابتدایی ترین block پارتیشن شما ذخیره می شود و به همین دلیل این قسمت را primary superblock می نامند. در فرآیند ریکاوری فایل سیستم با استفاده از fsck شما می توانید اطلاعات مربوط به superblock ها را با استفاده از دستور زیر مشاهده کنید :
dumpe2fs /dev/hdd | grep -i super
بعد از اینکه با دستور بالا توانستید superblock ها را مشاهده کنید می توانید با استفاده از دستور زیر ساختار superblock را تعمیر کنید ، فرض کنیم که آدرس superblock سالم ما برای ریکاوری عدد 163840 است بنابراین دستور ریکاوری به شکل زیر خواهد شد. توجه کنید که همیشه هم بدست آوردن superblock ها به این سادگی نیست و بعضا نیاز هست که فرمت کردن پارتیشن را شبیه سازی کنیم تا متوجه شویم که superblock ها در کجا قرار دارند :
/sbin/fsck.ext3 -b 163840 -B 1024 //dev/hdd
امیدوارم کمی مفهوم superblock برای شما جا افتاده باشد ، بحث در این خصوص زیاد است و فقط در این حد که متوجه شوید این مفهوم چقدر می تواند در بازسازی یک فایل سیستم به شما کمک کند کافیست ، برخی فایل سیستم ها فاقد superblock می باشند ، برای مثال فایل سیستم msdos ای که در لینوکس و ویندوز مشترک است هیچ superblock ای ندارد که مشکل را بتواند حل کند.
#file_system #storage #superblock @unixmens
Forwarded from Academy and Foundation unixmens | Your skills, Your future (yashar esmaildokht 🐧)
دستور dumpe2fs :

ابزار dumpe2fs یک ابزار بسیار ساده ولی بسیار کاربردی برای بدست آوردن اطلاعات فایل سیستم های لینوکس است ، این ابزار در خصوص فایل سیستم های معروف لینوکس یعنی ext2 ext3 و ext4 بسیار کاربردی است. تمامی اطلاعاتی که این ابزار در اختیار ما قرار می دهد کاربردی نیستند اما می توان با فیلتر کردن خروجی اطلاعات اطلاعات بسیار مفیدی از فایل سیستم ها بدست آورد ، از جمله این اطلاعات مهم می توان به UUID فایل سیستم ، فعال بودن قابلیت Journaling در فایل سیستم ، تعداد inode ها ، میزان بلاک های خالی و پر فایل سیستم ، وضعیت فایل سیستم ، نوع سیستم عامل مورد پشتیبانی توسط فایل سیستم و بسیاری دیگر از موارد اشاره کرد ، ساختار استفاده از این دستور بسیار ساده است اما نکته در اینجاست که دستور بایستی با پارامتر h- وارد شود تا مقادیر خلاصه تری به ما نمایش داده شوند در غیر اینصورت خروجی بسیار زیاد خواهد بود ، به دستور زیر دقت کنید که اطلاعات مربوط به sdb2 را با فایل سیستم ext2 نمایش می دهد ، توجه کنید که ext2 قابلیت journaling ندارد : .
[root@localhost ~]# dumpe2fs -h /dev/sdb3
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 1a609cce-05b0-4525-a187-80d64694f4b3
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: not clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 327680
Block count: 1310720
Reserved block count: 65536
Free blocks: 1287586
Free inodes: 327669
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 319
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Filesystem created: Mon Jul 11 04:30:18 2016
Last mount time: Mon Jul 11 04:30:40 2016
Last write time: Mon Jul 11 04:30:40 2016
Mount count: 1
Maximum mount count: -1
Last checked: Mon Jul 11 04:30:18 2016
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
#file_system #storage #superblock #dumpe2fs @unixmens
#jobs #oracle #linux @unixmens
علاقه مندان میتوانند رزومه خود را به آدرس [email protected] ارسال فرمایند .