من المعروف أن نظام لينكس كباقى الأنظمة، يتعامل مع التصاريح (وهى القيود التى يتم وضعها على ملف أو مسار معين لمنع وصول بعض الأشخاص إليهم)، وقد تحدثنا فى ما سبق عن كيفية إعطاء التصاريح بالتفصيل، ولذلك لن أتكلم عنهم مرة أخرى، فلنفرض أننا عندنا ملف معين وليكن file1، وأريد منع جميع المستخدمين بالوصول إليهم والسماح فقط لشخص واحد بإمكانية عرض الملف لذلك نلجأ إلى ACL.
أولاً :: تحميل وتثبيت الحزمة اللازمة للتعامل مع ACL
وللقيام بذلك نقوم بكتابة الآتى
كود:
yum install acl
rpm -qa | grep acl
ثانيًا :: إضافة خاصية استخدام ACL على ملف النظام الذى نريده من ملف fstab
كود:
/dev/sdc1 /mnt/example ext4 defaults,acl 1 2
ثالثًا :: إعادة عمل mount للملف هكذا
كود:
mount -o remount /mnt/example
رابعًا :: استخدام أمرى getfacl و setfacl
نقوم بإستعراض الأمرين مع بعض خصائصهما
getfacl : عرض قائمة التصاريح التى تم وضعها على ذلك الملف، أو المسار
setfacl
-m : التعديل على قائمة الدخول
-x : مسح مستخدم من قائمة الدخول
خامسًا :: مثال للتطبيق العملى
1- نقوم بإنشاء ملف file1 فى المسار mnt/example/ 2- عرض قائمة الدخول حاليًا (قبل إضافة أى مستخدم إلى الآن) ويكون الناتج كما هو مُوضح أسفل
كود:
# file: file1
# owner: root
# group: root
user::rw-
group::r--
mask::r--
other::r--
3- السماح للمستخدم saleh فقط بالدخول على ذلك الملف، لذلك أضيفه إلى قائمة الدخول، وأيضًا بتصاريح القراءة والكتابة والتنفيذ، rwx هكذا
كود:
setfacl -m u:saleh:rwx file1
4- التأكد من إضافة المُستخدم saleh إلى قائمة ACL
كود:
getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:saleh:rwx
group::r--
mask::rwx
other::r--
سادسًا ازالة مُستخدم معين من قائمة ACL الخاصة بالملف file1
كود:
setfacl -x u:saleh file1
وهنا نكون قد وصلنا إلى آخر الشرح، أسأل الله أن يجعله فى ميزان حسناتى، وأن ينفعنا بما نتعلم.