المحتوى عن 'acl'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML
    • HTML5
  • CSS
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 1 نتيجة

  1. بدأنا في المقال السابق من سلسلة دروس RHCSA شرحَ كيفية إعداد وسائط التخزين المحليّة باستخدام parted و ssm وشرحنا كيفية إنشاء تجزئات معمّاة وتركيبها Mounting أثناء إقلاع النظام. نذكّر - كما أشرنا إلى ذلك خلال الدرس السابق - بخطورة تنفيذ مهام الإدارة الحرجة على أنظمة الملفّات أثناء تركيبها. سنراجع في هذا الدرس أهمّ صيغ نظم الملفات المستخدمة في Red Hat Enterprise Linux 7 ثم نغطّي مواضيع تركيب أنظمة الملفات الشبكية (CIFS و NFS)، استخدامها وفصلها؛ إما يدويا أو تلقائيا. سنتطرّق أيضا لماهية قوائم التحكم في الوصول Access control litsts, ACL. المتطلبات تأكد قبل المواصلة مع هذا الدرس من توفّرك على خادوميْ NFS وSamba لتشارك الملفات؛ تمكنك مراجعة الدرسيْن التاليّيْن لإعدادها: إعداد تشارك الملفات على RedHat Enterprise Linux باستخدام Samba. تثبيت نظام الملفات الشبكي NFS وتركيبه على أوبونتو. سنستخدم في هذا الدرس جهازيْن؛ الأول على العنوان 192.168.2.100 ويشغّل خدمتيْ Samba و NFS (لا يهمّ نظام التشغيل)؛ أما الثاني وهو العميل فيعمل بنظام RHEL 7 على العنوان 192.168.2.200؛ وهو الذي سنطبق عليه الخطوات المشروحة هنا. أنظمة الملفات على RHEL 7 اعتمد نظام التشغيل RHEL 7 نظام الملفات XFS مبدئيا نظرا لأدائه العالي وقابليته الكبيرة للتمدّد Scalability. يدعم XFS مبدئيا معيار user_xattr (خاصيّات المستخدم الموسَّعة Extended user attributes) وقوائم التحكم في الوصول ACL؛ وهو ما يعني أنك لا تحتاج للتصريح برغبتك في استخدام هذه الخيارات حتى تكون متاحة؛ عكسَ ماهو كائن في أنظمة الملفّات ext3 وext4 (تنصح ردهات بعدم استخدام نظام ext2 للملفات على RHEL 7) التي يتوجّب فيها ذكر هذه الخاصيّات، في ملفّ fstab على سبيل المثال. خاصيّات المستخدم الموسَّعة هي تمديد لخاصيات الملف وتأخذ صيغة “خاصيّة:قيمة”. تُربَط هذه الخاصيّات بملفّ أو مجلَّد وتُستخدَم لإضافة وظائف جديدة إلى نظام الملفّات؛ ترميز Encoding الملفّ، أو نوع mime الخاصّ به على سبيل المثال. قوائم التحكم في الوصول صُمّمت قوائم التحكم في الوصول ACL لتمكين مدير النظام من التحكّم في وصول المستخدمين إلى الملفّات بطريقة أكثر تفصيلا مما تتيحه الأذون التقليدية. سنعرض في الفقرات أدناه كيف تُستعمَل قوائم التحكّم في الوصول عمليا. يوجد نوعان من قوائم التحكم في الوصول؛ قوائم التحكم في الوصول الخاصّة بالنفاذ Access ACLs التي يمكن تطبيقها سواءً على الملفّات أو المجلّدات، وتلك المبدئية Default ACLs التي لا تُطبَّق إلا على المجلّدات. إن لم تُعيَّن قوائم تحكّم في الوصول لملفّات موجودة في مجلّد فإنها تأخذ قوائم التحكّم في الوصول المبدئية المطبّقة على المجلّد الأب. يمكن لقوائم التحكم في الوصول أن تُعدّ بالنسبة لمستخدم، مجموعة مستخدمين أو لمستخدم لا ينتمي لمجموعة المستخدمين المالكة للملفّ. نستخدم الأمر setfacl مع الخيار m- لضبط قوائم التحكّم في الوصول؛ ومع الخيار x- لحذفها. ننشئ في ما يلي مجموعة مستخدمين باسم academy ثم نضيف إليها المستخدمَيْن ahmed و fatima: # groupadd academy # useradd ahmed # useradd fatima # passwd ahmed New password: Retype new password: # passwd fatima New password: Retype new password: # usermod -a -G academy ahmed # usermod -a -G academy fatima ثم نتأكد من أن المستخدمَين ينتميان إلى المجموعة academy: # id ahmed uid=1006(ahmed) gid=1009(ahmed) groups=1009(ahmed),1008(academy) # id fatima uid=1007(fatima) gid=1010(fatima) groups=1010(fatima),1008(academy) يظهر جيدا أن المستخدميْن ينتميان إلى المجموعة academy إضافة لانتمائهما لمجموعة بنفس اسم المستخدم (تُنشَأ مع إنشاء المستخدم مجموعة تحمل نفس الاسم). سننشئ الآن مجلدا باسم playground داخل المجلّد mnt/، وننشئ داخله ملفّا باسم testfile.txt؛ ثم نجعل academy هي المجموعة المالكة للملفّ ونحدّد الأذون عليه بـ770 (أذون القراءة، الكتابة والتنفيذ لكل من المالك والمجموعة المالكة، ولا أذون لبقية المستخدمين): # mkdir /mnt/playground # touch /mnt/playground/testfile.txt # chown :academy /mnt/playground/testfile.txt # chmod 770 /mnt/playground/testfile.txt ثم ننتقل إلى الحساب ahmed ثم نكتب عن طريقه الجملة التالية في الملفّ mnt/playground/testfile.txt/، ونعود إلى الحساب الجذر: # su ahmed $ echo "My name is Ahmed" > /mnt/playground/testfile.txt $ exit نكرّر نفس الشيء مع الحساب fatima ولكن بكتابة جملة جديدة في آخر الملفّ: # su fatima $ echo "My name is Fatima" >> /mnt/playground/testfile.txt $ exit ملحوظة 1: استخدمنا عامل التوجيه << مع المستخدم الثاني (fatima) حتى لا نحذف ما أضافه المستخدم الأول (ahmed). ملحوظة 2: يعود السبب في كون ahmed و fatima يستطيعان الكتابة في الملف mnt/playground/testfile.txt/ إلى انتمائهما للمجموعة academy التي جعلناها مالكة الملف وأعطيناها كلّ الأذون عليه. سننشئ مستخدما ثالثا samir: # useradd samir # passwd samir New password: Retype new password: يريد samir الكتابة في الملفّ mnt/playground/testfile.txt/؛ ستخفق العمليّة كما هو متوقع نظرا لعدم امتلاكه إذن الكتابة في الملفّ. لكن ماذا إن أردنا إتاحة إمكانيّة الكتابة على الملفّ mnt/playground/testfile.txt/ للمستخدم samir، الذي لا ينتمي إلى المجموعة academy؟ الإجابة الآنية هي إضافته للمجموعة academy؛ لكن هذا سيمنحه إذن الكتابة على جميع الملفات التي تملكها المجموعة، وهو ما لا نرغب فيه. يمكننا استخدام قوائم التحكم في الوصول لهذا الغرض. يطلب الأمر setfacl عند استخدام الخيار m- التعديل على قوائم التحكم في الوصول الخاصّة بملفّ أو إضافتها، ويُستخدَم على النحو التالي: setfacl -m <rules> <files> حيث <files> ملفّ أو مجموعة ملفّات، و<rules> قواعد تأخذ إحدى الصيغ التاليّة: u:<uid>:<perms>: تضبُط قوائم التحكم في الوصول الخاصّة بالنفاذ على الملفّ بالنسبة لمستخدم؛ حيث uid معرّف المستخدم أو اسمه وperms الأذون التي نريد إعطاءها له. g:<gid>:<perms>: تضبط قوائم التحكم في الوصول الخاصّة بالنفاذ على الملفّ بالنسبة لمجموعة مستخدمين؛ حيث gid معرّف المجموعة أو اسمها وperms الأذون التي نريد إعطاءها له. m:<perms>: تحدّد قناع الأذون الفعلية Effective rights mask؛ وهي طريقة لتقييد الأذون الممنوحة للمستخدمين أو المجموعات غير المستخدم المالك والمجموعة المالكة o:<perms>: تعيّن قوائم التحكم في الوصول الخاصّة بالنفاذ بالنسبة المستخدمين غير المنتمين للمجموعة المالكة للملفّ. نحصُل على ما نريد بتطبيق القاعدة الأولى على الملفّ mnt/playground/testfile.txt/: # setfacl -m u:samir:rwx /mnt/playground/testfile.txt يضيف الأمر أعلاه قائمة للتحكم في الوصول تعطي للمستخدم samir أذون الكتابة w، القراءة r والتنفيذ x على الملفّ mnt/playground/testfile.txt/. يمكن الآن للمستخدم samir الكتابة في الملف mnt/playground/testfile.txt/. استخدم الأمر getfacl لعرض قوائم التحكم في الوصول بالنسبة لملفّ أو مجلّد: # getfacl /mnt/playground/testfile.txt getfacl: Removing leading '/' from absolute path names # file: mnt/playground/testfile.txt # owner: root # group: academy user::rwx user:samir:rwx group::rwx mask::rwx other::--- بالنسبة لقوائم التحكم في الوصول المبدئية فيمكن ضبطها بإضافة حرف d قبل القاعدة على النحو التالي (حيث directory مسار المجلّد): # setfacl -m d:o:r <directory> ستسمح قائمة التحكم في الوصول المبدئية التي عرّفها الأمر السابق لجميع المستخدمين غير الأعضاء في المجموعة المالكة بالحصول على إذن قراءة المحتويات التي ستضاف للمجلّد مستقبلا. تطبّق هذه القائمة على كل عنصر يُضاف إلى المجلّد ما لم تحدَّد له قائمة تحكم خاصّة به. لاحظ الفرق في نتيجة تنفيذ الأمر getfacl قبل ضبط قوائم التحكم في الوصول المبدئية وبعدها: # getfacl /mnt/playground/ getfacl: Removing leading '/' from absolute path names # file: mnt/playground/ # owner: root # group: root user::rwx group::r-x other::r-x # setfacl -m d:o:r /mnt/playground # getfacl /mnt/playground/ getfacl: Removing leading '/' from absolute path names # file: mnt/playground/ # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:group::r-x default:other::r-- تركيب نظام الملفات الشبكي NFS يُستخدَم الأمر showmount -e لسرد مجلدات NFS المتاحة على الخادوم. يتوفّر الأمر ضمن حزمة nfs-utils، لذا يجب أولا تثبيت هذه الحزمة: # yum update && yum install nfs-utils ثم ننفّذ الأمر: # showmount -e 192.168.2.100 Export list for 192.168.2.100: /share 192.168.2.200 تشير نتيجة الأمر أعلاه إلى أن الخادوم على العنوان 192.168.2.100 يتشارك المجلّد share/ مع العنوان 192.168.2.200 (عنوان الجهاز الذي نستخدمه). يمكن استخدام أمر mount لتركيب مجلدات متشاركة عبر نظام NFS على نظام الملفّات المحلي كالتالي: # mount -t nfs -o [options] remote_host:/remote/directory /local/directory حيث options خيارات التركيب (ليست ضرورية)، remote_host عنوان الخادوم الذي توجد عليه الملفّات المتشاركة، remote/directory/ مسار الملفّ على الخادوم البعيد وlocal/directory/ مسار التركيب على نظام الملفّات المحلي. يُكتَب الأمر في حالتنا (share/ هو مسار المجلد على الخادوم، كما يظهر في نتيجة الأمر showmount السابق؛ وmnt/nfs/ هو مجلد أنشأناه على نظام الملفات المحلي للتركيب عليه): # mkdir /mnt/nfs # mount -t nfs 192.168.2.100:/share /mnt/nfs ملحوظة: إن حصلت على خطأ Job for rpc-statd.service failed فهذا يعني أن الخدمة rpcbind التي يستغلها النظام للتواصل مع نظام الملفات الشبكي غير مشغَّلة. نفذ - في هذه الحالة - الأمرين التاليين لتشغيلها وتفعيلها مع إقلاع النظام: # systemctl enable rpcbind.socket # systemctl restart rpcbind.service ثم أعد تشغيل الجهاز وأعد تنفيذ أمر التركيب السابق. يتيح الأمر mount تركيب المجلدات للعمل عليها، لكن هذا التركيب لا يدوم لما بعد إعادة تشغيل النظام؛ إن أردنا جعل التركيب دائما فيجب أن نضيف سطرا جديدا إلى ملفّ etc/fstab/ المعدّ لهذا الغرض؛ يأخذ السطر الهيئة التالية: remote_host:/remote/directory /local/directory nfs options 0 0 تمكن ملاحظة أن المتغيرات المستخدمة هي نفسها المستخدمة مع أمر mount؛ المختلف هنا هو التموضع. يكون السطر - بعد تطبيق هذه الهيئة على حالتنا - على النحو التالي: 192.168.2.100:/share /mnt/nfs nfs defaults 0 0 تركيب ملفات Samba يكثُر استخدام خادوم Samba لتشارك الملفات في البيئات المختلطة (أنظمة تشغيل مختلفة، مثل وندوز ولينكس). تتيح أداة smbclient التي تأتي ضمن الحزمة samba-client، عرض الملفات المتوفّرة للتشارك عن طريق Samba: # smbclient -L 192.168.2.100 -U samba_user Enter samba_user's password: Domain=[MYGROUP] OS=[Windows 6.1] Server=[Samba 4.2.10] Sharename Type Comment --------- ---- ------- samba_share Disk Directory for collaboration IPC$ IPC IPC Service (Samba Server Version 4.2.10) samba_user Disk Home Directories Domain=[MYGROUP] OS=[Windows 6.1] Server=[Samba 4.2.10] Server Comment --------- ------- Workgroup Master --------- ------- سيُطلب منك إدخال كلمة سر المستخدم samba_user؛ الذي هو عضو في مستخدمي Samba على الخادوم. راجع مقال إعداد تشارك الملفات على RedHat Enterprise Linux باستخدام Samba للمزيد من التفاصيل عن إعداد Samba لمشاركة الملفات. ستحتاج من أجل تركيب مجلدات متشاركة عبر خادوم Samba لتثبيت الحزمة cifs-utils على العميل (جهازك): # yum update && yum install cifs-utils ثم استخدم الأمر mount على النحو التالي: # mount -t cifs -o credentials=/path/to/credentials/file //remote_host/samba_share /local/directory يحدّد الخيار credentials ملفّا لمعلومات استثياق مستخدم يحقّ له الوصول إلى المجلدات المتشاركة على الخادوم، remote_host هو عنوان الخادوم؛ samba_share اسم المجلد المتشارَك على الخادوم كما يظهر في نتيجة الأمر smbclient وlocal/directory/ مسار مجلد التركيب المحلي. ننشئ قبل تنفيذ أمر التركيب مجلدا خاصا لهذا الغرض: # mkdir /mnt/samba ثم ننشئ ملفّ الاستيثاق smbcredentials.، وهو ملفّ مخفي، في المجلد الشخصي للمستخدم الجذر (/root/) مع تحديد الأذون بـ600 حتى لا يمكن لغير المستخدم الجذر قراءة محتواه. نضع داخل ملفّ الاستيثاق البيانات على النحو التالي: username=samba_user password=samba_user password تحدّد قيمة المعطى الأول اسمَ المستخدم، وقيمةُ المعطى الثاني كلمةَ السر. # mount -t cifs -o credentials=/root/.smbcredentials //192.168.2.100/samba_share /mnt/samba إن أردت جعل الملفّ متاحا تلقائيا فيمكنك إضافة سطر على النحو التالي إلى ملفّ etc/fstab/: //192.168.0.10/samba_share /mnt/samba cifs credentials=/root/.smbcredentials,defaults 0 0 يمكن حذف ملفّ الاستيثاق (خيار credentials) إذا كان المجلد على الخادوم متاحا للعموم. يجب الانتباه إلى أنه يجب ليُركَّب المجلّد - في حالتيْ NFS وSamba - أن يكون الخادوم حيث توجد مجلدات التشارك متاحا عبر الشبكة. لا تكتف بقراءة الدرس؛ طبّق ما قرأته أكثر من مرة بطرق الخاصّة واستخدم قسم الأسئلة إن واجهتك مشكلة (مع تحديدها). ترجمة -وبتصرّف- للمقال RHCSA Series: Using ACLs (Access Control Lists) and Mounting Samba / NFS Shares – Part 7 لصاحبه Gabriel Cánepa.