مجوزهای فایل در Linux

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

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

اگر لینوکس حاوی سیستم مجوز نبود، هر کاربری می تواند به فایل های کاربر دیگری دسترسی پیدا کند، این شامل فایل های سیستم روت است.

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

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

این بیت های مجاز به سیستم می گویند که کاربران، گروه ها یا سایر افراد (بقیه) می توانند بدانند به چه فایل هایی را دسترسی دارند، چه نوشتن در فایل یا خواندن محتوای فایل یا اجرای فایل باشد.

مجوزها چیزی است که ما برای چند پروژه Raspberry Pi به آن اعتماد می کنیم، بنابراین کسب دانش در مورد نحوه کار آنها می تواند فوق العاده مفید باشد.

 


گروه های مجاز

Permission Groups

قبل از اینکه در مجوزها وارد شویم، ابتدا گروه های مختلف و مجوز موجود در Linux را توضیح می دهیم.

در لینوکس، سه گروه مجزا وجود دارد، User ، Group و Other.

 

User Permission Group

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

به طور معمول این مجوز برای کاربری است که فایل را ایجاد می کند، اما با استفاده از دستور chown می توان مالکیت را در Linux تغییر داد.

 

Group Permission Group

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

به عنوان مثال، اگر گروهی که صاحب پرونده یا فهرست است “pishronic” نامیده شود، پس همه کاربران متعلق به آن گروه این مجوزها را دریافت می کنند.

مانند گروه اجازه کاربر، به طور پیش فرض همان گروه کاربری که فایل/ دایرکتوری را ایجاد کرده است.

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

Other Permission Group

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

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

به عنوان مثال، احتمالاً به هیچ کس در این گروه اجازه نمی دهید فایل ای را بنویسد یا اجرا کند.

 


مجوزها در Linux

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

Read, Write, و Execute.

 

Read Permission

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

هنگامی که برای یک دایرکتوری تنظیم می شود، باین مجوز گروه به محتویات دایرکتوری داده می شود.

 

Write Permission

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

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

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

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

بدون اجازه نوشتن در دایرکتوری ، گروه نمی تواند فایل های موجود در آن را اضافه، حذف یا تغییر نام دهد.

 

Execute Permission

با تنظیم مجوز اجرا روی یک فایل، آن گروه اجازه می تواند فایل را اجرا کند.

اگر فایل یک برنامه اجرایی نیست، بهترین کار این است که هیچگونه حق اجرایی روی فایل تنظیم نکنید.

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

 


مشاهده مجوزها در Linux

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

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

samplefile

 

خواهید دید که دستور ls -l چندین ستون مختلف از اطلاعات را برمی گرداند.

برای این آموزش، ما فقط بر روی ستون های اول، سوم و چهارم تمرکز خواهیم کرد زیرا همه اینها مستقیماً مربوط به مجوزها هستند.

 

ستون ۱

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

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

First Permission Set

اولین مجموعه مجوزها برای مالک کاربر است. در مثال ما ، این بدان معنی است که مالک دارای سه بیت اجازه زیر است: rw‐.

Second Permission Set

مجموعه دوم مجوزهای مالک گروه است. در مثال ، می بینید که گروه مجوزهای زیر را تنظیم کرده است: r‐‐.

Third Permission Set

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

The Permission Characters

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

گروهی که همه مجوزها را فعال کرده باشد مانند rwx به نظر می رسد، جایی که r مخفف Read و w مخفف Writ  و x مخفف Execute است.

اگر یک مجوز خاص غیرفعال باشد ، جای آن با خط (-) جایگزین می شود.

به عنوان مثال، اگر گروه اجازه نوشتن نداشته باشد، بیت های اجازه آن r-x خواهد بود. با جایگزینی ستون نوشتن با خط.

Symbol Usage Description
r Read permission Allows the permission group to read the contents of the file or directory
w Write permission Allows the permission group to write content to the file or directory
x Execute permission Allow the permission group to “run” a file.
Disabled Permission Blocks a permission group from running the permission its replacing.

 

ستون ۳

این ستون نام کاربری کاربر مالک فایل یا دایرکتوری را مشخص می کند.

هنگام تنظیم مجوزها برای گروه اجازه “مالک” ، این کاربر است که روی آن تأثیر می گذارد.

به عنوان مثال، اگر مالک فایل کاربری به نام pi باشد و مجوزهای rw-set را داشته باشد، آن کاربر فقط قادر به خواندن و نوشتن در آن فایل یا دایرکتوری است.

ستون ۴

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

وقتی مجوزها را برای گروه مجوز “Group” تنظیم کنید، تا زمانی که مالک فایل / دایرکتوری نیستند  روی همه کاربران عضو آن گروه تأثیر می گذارد.

برای مثال ، فرض کنید ما گروهی به نام رزبری داریم که دارای سه کاربر به نام های “علی” ، “رضا” و “حسین” بود. مجوزهای تعریف شده برای این گروه در هنگام تعامل با فایل یا دایرکتوری، هر سه کاربر را تحت تأثیر قرار می دهد.


Changing Permissions in Linux

در Linux با استفاده از دستور chmod می توانید مجوزهای اختصاص داده شده به یک فایل یا دایرکتوری را اصلاح کنید.

برای تغییر مجوزها به کاربری نیاز دارید که دارای امتیازات کاربر فوق العاده است.

در زیر مثالی از استفاده از این دستور در لینوکس آورده شده است.

chmod u+w samplefile

با استفاده از این دستور ، ما از نماد استفاده می کنیم تا به گروه اجازه مالک، امتیاز نوشتن روی پرونده ای به نام samplefile را بدهیم.

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

در صورت داشتن پیشنهاد یا سوال، در بخش نظرات موضوع را برای ما بنویسید.

 


مطالب پیشنهادی برای شما


 

۱۲

محمد صداقتی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.