سایبریت

سطح دسترسی در لینوکس (لینوکس برای هکرها – قسمت 7)

یکی از ویژگی امنیتی سطح دسترسی در لینوکس است. مجوز دسترسی یا سطح دسترسی (Permissions) یک راه محافظت سیستم در برابر خرابکاری ها و دسترسی های غیر مجاز است.

فایل ها و دایرکتوری ها در لینوکس”متعلق به” شخصی است که آنها را ایجاد کرده است. این فایل‌ها دارای یک سری سطح دسترسی هستند که نشان دهنده کارهایی است که کاربر می تواند روی فایل یا دایرکتوری موردنظر انجام دهد. این بدان معناست که شما می توانید مشخص کنید چه کسی مجاز به خواندن فایل، ویرایش و یا اجرای فایل است.

قبل از مطالعه این قسمت، مطمئن شوید که قسمت‌های قبلی سری آموزش لینوکس برای هکرهای اخلاقی را نگاه کردید.

1- بررسی مجوزها (پرمیژن‌ها)

اگر بخواهیم سطح دسترسی یک فایل را پیدا کنیم، می‌توانیم به‌سادگی از دستور ls به همراه سوئیچ ‎-l استفاده کنیم. بیایید از این فرمان در دایرکتوری usr/share/wireshark/ استفاده کنیم و ببینیم چه چیزی در مورد فایل‌های موجود در آن به ما می‌گوید.

دستور cd - سطح دسترسی در لینوکس

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

تشخیص فایل یا دایرکتوری

اولین کاراکتر هر خط به ما می‌گوید که آیا آن یک فایل است یا دایرکتوری. اگر خط با d شروع شود، آن یک دایرکتوری است. اگر با “-” شروع شود، یک فایل است.

تشخیص فایل یا دایرکتوری در لینوکس - سطح دسترسی در لینوکس

تشخیص مجوزها

کاراکترهای بعدی، مجوز فایل را تعیین می‌کنند. سه مجموعه از rwx وجود دارد که مجوز خواندن، نوشتن و اجرای فایل است. این کاراکترها تعیین می‌کنند که آیا مجوز خواندن فایل وجود دارد، آیا می‌توان فایل را ویرایش کرد یا فایل را اجرا کرد. هر مجموعه از rwx نمایانگر مجوز مالک، گروه و دیگران است.

(r)read
(w)write
(x)execute

بنابراین، اگر ما به خط دوم برای فایل ABOUT.GPL نگاه کنیم …

تشخیص مجوزها در لینوکس - سطح دسترسی در لینوکس

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

-rw-r--r--

به این معنی که یک فایل (-) است که مالک آن را مجوز خواندن (r) و نوشتن (w) را دارد، اما مجوز اجرا را (-) ندارد.

مطالعه کنید
۱۳ کاری که بعد از نصب اوبونتو باید انجام دهید

مالکیت فایل ها در لینوکس - سطح دسترسی در لینوکس

مجموعه بعدی مجوزها نشان‌دهنده گروه است. در اینجا می‌توانیم ببینیم که گروه، مجوز خواندن (r) را دارد اما نوشتن (-) و اجرا (-) را ندارد.

مالکیت فایل ها در لینوکس - سطح دسترسی در لینوکس

درنهایت، آخرین مجموعه از مجوزها برای همه یا دیگران است. ما می‌توانیم ببینیم که دیگران فقط مجوز خواندن (r) فایل ABOUT.GPL دارند.

مالکیت فایل ها در لینوکس - سطح دسترسی در لینوکس

2- تغییر سطح دسترسی در لینوکس

بیایید یک مورد را تصور کنیم که ما می‌خواهیم، گروه بتواند فایل ABOUT.GPL را ویرایش و اجرا کند. لینوکس یک دستور به نام chmod دارد که اجازه می‌دهد تا مجوزهای یک فایل را تغییر دهیم. البته تا زمانی که ما کاربر روت یا مالک فایل هستیم. این مجوزها توسط معادل باینری آن‌ها در سیستم‌عامل نشان داده‌شده است.

روش عددی

در روش عددی، برای هر مجوزی یک عددی معادل آن هست.

r w x
4 2 1 = 7

جمع این سه عدد برابر هفت است. زمانی که بخواهیم همه مجوزها (خواندن، ویرایش، اجرا) را به فایل بدهیم، آن را با معادل عددی 7 نشان می‌دهیم. بنابراین، اگر ما بخواهیم مالک (7) و گروه (7) و دیگران یا همه کاربران (7) همه مجوزهای فایل را داشته باشند. ما می‌توانیم آن را مانند زیر نشان دهیم:

777

حالا اجازه دهید به فایل ABOUT.GPL مان برگردیم به یاد داشته باشید مجوزهای آن‌ها rw-r–r–‎ بودند، بنابراین ما می‌توانیم آن را به صورت عددی بیان کنیم:

r w - r - - r - -
4 2 0 4 0 0 4 0 0

این را می‌توان با 644 نشان داد.

تغییر مجوزهای فعلی ABOUT.GPL

حالا، اگر ما می‌خواستیم به گروه مجوز ویرایش (2) و اجرا (1) را بدهیم، می‌توانیم از دستور chmod برای انجام این کار استفاده کنیم. ما باید مجوز نوشتن (2) و مجوز اجرا (1) را به فایل ABOUT.GPL اضافه کنیم. مانند زیر:

chmod 7 7 4 ABOUT.GPL

تغییر مجوز فایل در لینوکس - سطح دسترسی در لینوکس

این می‌گوید مالک هر سه مجوز (4 + 2 + 1 = 7) را دارد، گروه (4 + 2 + 1 = 7). و به دیگران مجوز خواندن می‌دهد (4 + 0 + 0 = 4). هنگامی‌که ما دستور ls -l را اجرا می‌کنیم، می‌توانیم ببینیم که مجوزهای ABOUT.GPL این‌گونه است:

r w x r w x r - -

3- تغییر مجوز با UGO

اگرچه روش عددی احتمالاً رایج‌ترین روش برای تغییر سطح دسترسی در لینوکس است، اما روش دیگری وجود دارد که برخی افراد با آن راحت‌تر هستند. این اغلب به عنوان UGO شناخته می‌شود. UGO مخفف U = کاربر یا مالک، G = گروه و O = دیگران است. UGO دارای سه اپراتور است:

  • + برای اضافه کردن مجوز
  • – برای کسر یک مجوز
  • = برای تعیین مجوز
مطالعه کنید
مشاهده فایل در لینوکس (لینوکس برای هکرها – قسمت 10)

بنابراین، اگر بخواهیم اجازه نوشتن را از گروهی که ABOUT.GPL متعلق به آن است، بگیریم. این‌طور می‌نویسیم:

chmod g-w ABOUT.GPL

دستور chmod - سطح دسترسی در لینوکس

این دستور می‌گوید “برای گروه (g) کسر کن (-) مجوز نوشتن (w) فایل ABOUT.GPL”

شما می‌توانید ببینید که وقتی مجوزهای فایل را با تایپ ls -l بررسی می‌کنم، فایل ABOUT.GPL دیگر مجوز نوشتن برای گروه را ندارد.

اگر بخواهم هم‌زمان به کاربر و گروه مجوز اجرا را بدهم، می‌توانم تایپ کنم:

chmod u+x, g+x ABOUT.GPL

این دستور می‌گوید: “برای کاربر اضافه کن مجوز اجرا، برای گروه اضافه کن مجوز اجرا برای فایل ABOUT.GPL”

4- دادن مجوز اجرا به ابزارهای جدید

به عنوان یک هکر، اغلب ما باید ابزارهای جدید هک را دانلود کنیم. پس از دانلود، استخراج، و نصب آن‌ها، نیاز هست که مجوز اجرا را برای اجراشدن آن بدهیم. اگر ما این کار را نکنیم، معمولاً پیامی دریافت می‌کنیم که مجوز کافی برای اجرای آن نداریم.

در تصویر زیر می‌بینیم که فایل 1newtool مان مجوز اجرا را برای هرکسی ندارد. می‌توانیم با دستور زیر مجوز اجرا را به آن بدهیم.

مجوز اجرا در لینوکس - سطح دسترسی در لینوکس

chmod 766 1newtool

آموزش سطح دسترسی در لینوکس

همان‌طور که در حال حاضر می‌دانید، این به ما، مالک، تمام مجوزها ازجمله اجرا، و به گروه و هر کس دیگری مجوزهای خواندن و نوشتن را می‌دهد (4 + 2 = 6). شما می‌توانید در تصویر بالا ببینید که پس از اجرای دستور chmod، دقیقاً همان چیزی است که ما می‌خواهیم!

به پایان آموزش سطح دسترسی در لینوکس رسیدیم. مطمئن شوید که قسمت‌های قبلی سری آموزش لینوکس برای هکرهای اخلاقی را نگاه کردید و اگر سؤالی دارید، در نظرات زیر بپرسید.

دیدگاه‌ها (0)

  • بخش دیدگاه محیط تعامل میان ما و شما است
  • سوالات، پیشنهادات و انتقادات خود را با ما در میان بگذارید
  • شما در بیان نظر خود آزاد هستید و تمامی کامنت ها منتشر می‌شوند