آموزش مقدمات لینوکس – بخش ششم

آموزش مقدمات لینوکس

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

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

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

در ادامه به شما نشان داده خواهد شد که چگونه می توانید مجوزهای مربوط به فایل ها و فولدرها را در لینوکس تنظیم نمایید.

انواع کاربران مختلف

همانطور که شما می دانید، در لینوکس کاربر Root دارای قدرت بسیار زیادی بوده و اساساً قادر به انجام هر کاری بر روی سیستم می باشد و همچنین کاربران دیگر دارای قابلیت های محدودتری نسبت به این کاربر می باشند. این کاربران معمولا در گروه هایی جمع می شوند که اغلب دارای عملکرد مشابهی هستند.

به عنوان مثال واحدهای مالی، مهندسی، فروش و … هر کدام می توانند به عنوان یک گروه تعریف شده و کاربران مخصوص خود را داشته باشند.

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

انواع سطح دسترسی

هر فایل و فولدر در لینوکس دارای سطح دسترسی مربوط به خود می باشد که این سطح دسترسی به سه بخش زیر تقسیم می گردد:

R مخفف Read: این نوع از دسترسی تنها برای باز کردن و مشاهده فایل استفاده می شود.
W مخفف Write: این نوع از دسترسی برای نوشتن است و به کاربر اجازه مشاهده و ویرایش یک فایل را خواهد داد.
X مخفف Execute: این نوع از دسترسی برای اجرا بوده و به کاربر اجازه اجرای یک فایل را می دهد.

به این ترتیب کاربر Root می تواند سطوح دسترسی مختلف را مطابق با نیاز هر یک از کاربران به آن ها اعطا نماید.

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

اعطای مالکیت به یک کاربر خاص

به منظور تغییر مالک یک فایل به یک کاربر دیگر، که این کاربر قادر به کنترل سطح دسترسی آن باشد، از دستور chown استفاده می شود. در این دستور باید نام کاربر و مسیر فایلی که قصد تغییر مالک آن را داریم، وارد نماییم:

chown bob /tmp/bobsfile

اعطای مالکیت به یک گروه خاص

جهت تغییر مالکیت یک فایل از یک گروه به گروهی دیگر از دستور chgrp استفاده می شود.

chgrp security test.sh

دستور بالا گروه مالک فایل test.sh را به گروه security منتقل می کند.

بررسی سطوح دسترسی

برای بررسی اعمال Permission ها به فایل ها و پوشه های مد نظر، از دستور ls با سوییچ -l استفاده می شود. در تصویر زیر دستور مذکور برای فایل hashcat اجرا شده است:

Linux Permissions

خروجی دستور ls -la حاوی اطلاعاتی در خصوص فایل مورد نظر می باشند که در ادامه به توضیح این موارد می پردازیم:

بخش یک: نوع فایل را مشخص می کند که در تصویر بالا عبارت d بیانگر ماهیت دایرکتوری و عبارت دش یا – بیانگر ماهیت فایل می باشد.
بخش دو: سطح دسترسی یا Permission مربوط به مالک (سه کاراکتر اول)، گروه(سه کاراکتر دوم) و کلیه کاربران(سه کاراکتر سوم) کاربران را نشان می دهد.
بخش سوم: تعداد لینک های هر یک از موارد را نمایش می دهد.
بخش چهارم: مالک هر بخش را مشخص می کند.
بخش پنجم: سایز هر بخش را به بایت نشان می دهد.
بخش ششم: زمان ایجاد یا آخرین تغییر را نمایش می دهد.
بخش هفتم: نام فایل را نشان می دهد.

در ادامه به توضیحاتی در مورد بخش دوم می پردازیم.

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

در صورت وجود w در ادامه آن، امکان تغییر یا نوشتن بر روی فایل یا دایرکتوری وجود دارد و در صورت مشاهده x در ادامه کاراکترهای پیشین، دسترسی اجرا به فایل یا دایرکتوری اعطا شده است. همچنین در صورتی که به جای هر یک از موارد rwx یک عبارت – قرار داده شده بود، به معنی عدم دسترسی فایل یا دایرکتوری به آن مورد خاص بوده که می تواند دسترسی خواندن، نوشتن یا اجرا کردن باشد.

به عنوان مثال تصویر زیر را در نظر بگیرید:

Linux Permissions

عبارت – در ابتدای بخش دسترسی، نمایانگر ماهیت فایل است.

دسترسی های فایل مذکور دارای سه بخش زیر است:

rw-: این بخش به ما می گوید که دسترسی مالک فایل تنها خواندن و نوشتن بر روی آن است و امکان اجرای این فایل برای مالک وجود ندارد.
r–: این بخش به ما می گوید که دسترسی گروه به این فایل تنها خواندن بوده و امکان تغییر و اجرای این فایل برای گروه وجود ندارد.
r–: این بخش به ما می گوید که کابران دیگر نیز تنها قادر به خواندن این فایل بوده و امکان تغییر و اجرای آن را ندارند.

لازم به ذکر است که این مجوزها غیرقابل تغییر نبوده و کاربر root و مالک فایل یا دایرکتوری می تواند سطح دسترسی آن ها را تغییر دهد که در ادامه به چگونگی تغییر سطح دسترسی یا Permission ها می پردازیم.

تغییر سطوح دسترسی

برای تغییر سطح دسترسی یک فایل یا دایرکتوری از دستور chmod استفاده می شود که بکارگیری این دستور تنها برای کاربر root و مالک فایل یا دایرکتوری امکان پذیر می باشد. تغییر سطح دسترسی به دو روش عددی و کاراکتری انجام می شود که در ادامه توضیحات و نحوه پیاده سازی هر یک را بررسی خواهیم کرد.

تغییر سطوح دسترسی با استفاده از نماد عددی

در این روش به ازای هر یک از عبارات rwx، مقادیر ارزش مکانی آن ها بر اساس باینری را به دست آورده و سپس از مقدار دسیمال آن برای تغییر سطح دسترسی استفاده می کنیم.

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

000 0 —
001 1 –x
010 2 -w-
011 3 -wx
100 4 r–
101 5 r-x
110 6 rw-
111 7 rwx

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

به عنوان مثال اگر قصد اعمال دسترسی خواند و نوشتن به مالک را داشته باشیم دسترسی به شکل rw- شده که مطابق با لیست بالا معادل عدد 6 بوده و اگر دسترسی برای گروه و کاربران تنها خواندن باشد، برای هر کدام از آن ها عبارت r– در نظر گرفته خواهد شد که مقدار عددی هر دو بخش مطابق جدول بالا برابر 4 می باشد و سطح دسترسی کلی به شکل rw-r–r– می باشد.

در این صورت عدد تنظیم سطح دسترسی برابر با 644 می شود که از این عدد برای تغییر سزح دسترسی به شکل زیر استفاده می شود:

chmod 644 hashcat

در بخش بعدی از آموزش مقدمات لینوکس به تغییر سطح دسترسی به روش UGO می پردازیم.

درباره نویسنده: احسان نیک آور

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