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

آموزش تغییر سطح دسترسی فایل و فولدر در لینوکس با chmod با 5 مثال

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

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

برای تغییر دادن سطوح دسترسی در سیستم عامل لینوکس از دستوری به نام chmod استفاده می کنیم که مخفف change mode است . ساختار زیر برای اعمال کردن سطوح دسترسی user group other در سیستم عامل لینوکس است. اگر هیچگونه پارامتری برای دستور chmod در نظر گرفته نشود به معنی all یا همه موارد می شود. به پارامترهای این دستور دقت کنید :

  1. پارامتر u : مشخص کننده سطح دسترسی کاربران یا user ها است ( سطح دسترسی مالک یا owner فایل )
  2. پارامتر g : مشخص کننده سطح دسترسی گروه ها یا group است
  3. پارامتر o : مشخص کننده سطح دسترسی همه است و others نیز معنی می شود ( هر کسی غیر از مالک )
  4. پارامتر a : مشخص کننده همه موارد است و شما می توانید بصورت ugo هم از این پارامتر استفاده کنید

دستور chmod برای تعریف کردن سطوح دسترسی دارای یک سری اپراتور است که این اپراتورها تعریف کننده نحوه تغییر سطوح دسترسی هستند ، این موارد شامل علامت های زیر می باشد :

  1. اپراتور + یا بعلاوه : دسترسی مورد نظر را به اضافه می کند
  2. اپراتور – یا منها : دسترسی مورد نظر را حذف می کند
  3. اپراتو = یا مساوی : یک نوع دسترسی را به سایر موارد نیز اعمال می کند

برای اینکه با این موارد بهتر آشنا بشویم می توانید مثال های زیر را بصورت عملی در لینوکس خودتان اعمال کنید :

مثال یک : دادن دسترسی اجرایی یا execute به کاربر :

 [root@ITPRO-Linux itproest.txt]# ls -l
total 0
-rw-r--r-- 1 root root 0 Jul  4 17:52 itproest.txt
[root@ITPRO-Linux itproest.txt]# chmod u+x itproest.txt
[root@ITPRO-Linux itproest.txt]# ls -l
total 0
-rwxr--r-- 1 root root 0 Jul  4 17:52 itproest.txt

در دستور بالا ما به کاربر یا user دسترسی x یا execute را داده ایم که در خروجی دستور ls کاملا مشهود است

مثال دو : اعمال دسترسی مشابه user به group :

 [root@ITPRO-Linux itproest.txt]# ls -l
total 0
-rwxr--r-- 1 root root 0 Jul  4 17:52 itproest.txt
[root@ITPRO-Linux itproest.txt]# chmod g=u itproest.txt
[root@ITPRO-Linux itproest.txt]# ls -l
total 0
-rwxrwxr-- 1 root root 0 Jul  4 17:52 itproest.txt


همانطور که در دستور بالا مشاهده می کنید ، مشابه دسترسی که به user ها داده شده است به کاربر یا user هم اعمال شده است.

مثال سوم : حذف کردن دسترسی group و other از فایل :

 [root@ITPRO-Linux itproest.txt]# ls -l
total 0
-rwxrwxr-- 1 root root 0 Jul  4 17:52 itproest.txt
[root@ITPRO-Linux itproest.txt]# chmod go= itproest.txt
[root@ITPRO-Linux itproest.txt]# ls -l
total 0
-rwx------ 1 root root 0 Jul  4 17:52 itproest.txt
[root@ITPRO-Linux itproest.txt]#

همانطور که دستور بالا مشاهده می کنید ما دسترسی group را مشابه دسترسی other قرار داده ایم و این باعث حذف دسترسی های گروه و other از فایل می شود .

مثال چهارم : دسترسی اجرایی از همه موارد گرفته شود :

 [root@ITPRO-Linux itproest.txt]# ls -l
total 0
-rwx------ 1 root root 0 Jul  4 17:52 itproest.txt
[root@ITPRO-Linux itproest.txt]# chmod -x itproest.txt
[root@ITPRO-Linux itproest.txt]# ls -l
total 0
-rw------- 1 root root 0 Jul  4 17:52 itproest.txt
[root@ITPRO-Linux itproest.txt]#

در دستور بالا با استفاده از علامت منفی ما دسترسی x یا اجرایی را از همه موارد ugo می گیریم و حذف می کنیم.

مثال پنجم : دادن دسترسی کامل به همه موارد :

[root@ITPRO-Linux itproest.txt]# chmod 777 chmodtest 
[root@ITPRO-Linux itproest.txt]# ls -l
total 0
-rwxrwxrwx 1 root root 0 Jul  4 17:52t itproest.txt

دستور بالا به همه موارد از جمله user group other یا ugo دسترسی کامل به همه موارد را می دهد ، همانطور که در مقاله قبلی در خصوص اعداد مرتبط با دسترسی ها صحبت کردیم ، این حالت بصورت عدد مبانی 8 یا octal نمایش داده می شود و عدد حاصل در اینجا 777 است. امیدوارم مورد توجه شما قرار گرفته باشد ، در صورتیکه ابهامی وجود دارد می توانید در ادامه مطلب مطرح کنید. در دوره آموزش لینوکس اسنشیالز بصورت مفصل در خصوص تغییر سطوح دسترسی صحبت کرده ام.


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

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

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

نظرات