getfacl permissions

پشتیبان گیری از مجوز های دسترسی (permissions)در لینوکس

پشتیبان گیری از مجوز های دسترسی در لینوکس (File permissions)

مدت زیادی درگیری کاری اجازه فعالیت و مستندسازی رو بهم نمیداد. امروز با یه آموزش ساده در خدمتتون هستم و امیدوارم مشغله کاری اجازه بده تا بتونم مطالب بیشتری را آماده و ارسال کنم.
آموزش امروز در خصوص نحوه پشتیبانگیری از Permission های فایل و دایکتوری با استفاده از دستور getfacl است که ممکنه توی پروژه های مختلف به کارتون بیاد.
تصور کنید فایل های مهمی دارید که نیاز هست تا از Permission های آنها پشتیبان ذخیره کنید. دلایل مختلفی برای این کار وجود دارد به عنوان نمونه حفاظت از permission های یک فایل یا دایرکتوری از تغییر خواسته یا ناخواسته توسط سایر کاربران، دیباگ کردن یک سرویس و تغییر دائم permission های آن و نیاز به بازگشت به حالت قبل و یا ایجاد اسکریپتی که پرمیژن های فایل های یک مسیر را چک کند و در صورت تغییر آنها رابه حالت اول برگرداند.
دستور getfacl در واقع snapshot ی از Permission های فایل ها و دایرکتوری ایجاد میکند. به عنوان نمونه اسکریپتی با نام myscript.sh وجود دارد که قصد داریم از permission های آن دایرکتوری والد آن پشتیبان بگیریم.

cd /var/log
[root@hamed_lab log]# ls -lah |grep hamed
drwxrwxr-x 2 root root 4.0K Jan 8 17:24 hamed
[root@hamed_lab log]# ls -lah hamed/myscript.sh
-rwxrw-r-- 1 root root 0 Jan 8 17:24 hamed/myscript.sh

 

با دستور زیر ازPermission های دایرکتوری hamed به همراه تمام متعلقات آن پشتیبان میگیریم

getfacl -R hamed > permissions

 

-R برای ذخیره permission های دایکتوری و فایل های آن به صورت recursive استفاده شده است.
و با دستور زیر تنها از permission های فایل پشتیبان میگیریم

getfacl -R hamed/myscript.sh > script_permissions

 

در ادامه پرمیژن های دایرکتوری و فایل را به صورت زیر تغییر می دهیم.

[root@hamed_lab log]# ls -lah |grep hamed
d--------- 2 root root 4.0K Jan 8 17:24 hamed
[root@hamed_lab log]# ls -lah hamed/myscript.sh
-rwxrwxrwx 1 root root 0 Jan 8 17:24 hamed/myscript.sh

 

درادامه با دستور زیر Permission ها را restor میکنیم.

[root@hamed_lab ~]# setfacl --restore=permissions

 

همانطور که در زیر مشاهده میکنید permission فایل ها حالت اول بازگشه است.

محتویات فایل permission هم به متن زیر خواهد بود

# file: var/log/messages
# owner: root
# group: root
user::rw-
group::---
other::---

امیدوارم این مطلب آموزشی کاربردی و مفید بوده باشد.

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