ایجاد دسترسی به فایل فقط برای کاربران خاص

گاهی پیش می آید که شما (مدیر سرور) نمی خواهید همه ی کاربران به پوشه یا فایل خاصی دسترسی (access) داشته باشند.

در این صورت سطح دسترسی (chmod) آن فایل (پوشه) را کاهش می دهید. مثلا سطح دسترسی آن فایل یا فولدر را به ۷۰۰ تغییر می دهید.

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

در این صورت می توانید از دستور setfacl استفاده کنید.

در اینجا با یک دستور ساده و پرکاربرد آموزش انجام این کار را با هم یاد می گیریم
برای اضافه کردن دسترسی یک کاربر به مسیر مورد نظر از دستور زیر استفاده کنید:



root@mars [~]# setfacl -m u:username:x /path/to/file

به جای username نام کاربر مورد نظر را وارد کنید

در قسمت u:username:x به جای x می توانید از x, r, w یا ترکیبی از این سه  استفاده کنید.

  • x یعنی اجازه ی اجرا کردن
  • r یعنی اجازه ی خواندن
  • w یعنی اجازه ی نوشتن

برای حذف دسترسی کاربر به مسیر مورد نظر :

root@mars [~]# setfacl -x u:username /path/to/file

 

برای اطلاعات بیشتر و کاربردهای بیشتر این دستور، راهنمای آن را از خط فرمان (ssh) ببینید:

root@mars [~]# setfacl –help

 

ما میدونیم که برای خودمون تغییر سطح دسترسی به این شکل میباشد
find /home -type d -exec chmod 755 {} \;
حالااگر بخواهیم برای یک کاربر خاص ؟
سطح دسترسی پوشهاوزیر پوشه را از ۷۷۷ به۷۵۵ وفایل ها را ۶۴۴ به ۶۶۶ تغییر دهیم.
چه دستوری بنویسیم؟

برای پوشه ها:

find /home/user/public_hml/* -type d -exec chmod 755 {} \;

برای فایل ها:

find /home/user/public_hml/* -type f -exec chmod 644 {} \;


شاید سوال باشد برای شما که chmod چیست؟
جواب: 

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

 

آیا این پاسخ به شما کمک کرد؟

 پرینت این مقاله

در همین زمینه

تغییر timezone سرور لینوکس با ssh

رای تغییر منطقه زمانی سرور لینوکس از طریق خط فرمان (command line) یا شِل، بصورت زیر اقدام...

Powered by WHMCompleteSolution