إذا كنت معتادًا على أنظمة أخرى مثل ويندوز، فقد تبدو إدارة الملفات في لينكس من خلال سطر الأوامر أمرًا شاقًا. ولكن بمجرد فهم كيفية عملها، ستجدها أسهل بكثير. سمات الملفات، والأذونات، وقوائم التحكم بالوصول، وغيرها من البيانات الوصفيةتتحول وحدة التحكم من كونها شيئًا مخيفًا إلى أداة متعددة الاستخدامات يمكنك من خلالها القيام بأي شيء تقريبًا.
سنرى في هذه المقالة، بالتفصيل وخطوة بخطوة، كيف عرض وتفسير وتعديل خصائص الملفات في نظام لينكسيشمل ذلك الإعدادات الكلاسيكية (الأذونات، والتواريخ، والمالك) والإعدادات المتقدمة (السمات الموسعة، وقوائم التحكم في الوصول، وعلامات نظام الملفات الخاصة). ويتم كل ذلك باستخدام سطر الأوامر وأوامر مثل: ls، stat، chattr، lsattr، setfacl، getfacl و attr.
المفاهيم الأساسية لنظام الملفات في لينكس
قبل أن نبدأ في تعديل السمات، من المهم فهم فكرة أساسية: في لينكس يتم التعامل مع كل شيء تقريبًا كملفليس فقط المستندات النصية أو الصور، ولكن أيضًا الدلائل والأجهزة والأنابيب والمقابس والروابط الرمزية ... تسمح هذه الفلسفة للنظام باستخدام نفس الأدوات للتعامل مع عناصر مختلفة تمامًا.
أنواع الملفات وكيفية التعرف عليها
عندما تركض لس -l في الدليل، يبدأ كل سطر من المخرجات بسلسلة من عشرة أحرف، على النحو التالي: drwxrwxr-x o -rw-rw-r--يشير الحرف الأول إلى نوع الملفبينما تمثل التسعة الأخرى أذونات المستخدم والمجموعة وغيرها.
- - ملف عادي (نموذجي: نص، ملفات ثنائية، صور، إلخ.)
- d دليل
- b جهاز الكتلة (الأقراص، على سبيل المثال، في
/dev) - c أجهزة الأحرف (المحطات الطرفية، المنافذ التسلسلية، إلخ)
- l ارتباط رمزي
- p ملف خط الأنابيب أو ملف FIFO
- s البريزة
- n ملف الشبكة (حسب النظام والأدوات المستخدمة)
لذا إذا رأيت شيئًا مثل drwxrwxr-x 2 lorenzo lorenzo 4096 feb 11 08:33 documentos، يشير الحرف "d" في البداية إلى أنه دليل، متبوعًا بأذوناته، وعدد الروابط الصلبة، والمالك، والمجموعة، والحجم، والتاريخ، والاسم.
لينكس حساس لحالة الأحرف
إحدى التفاصيل التي غالباً ما تربك الناس في البداية هي أن نظام ملفات لينكس يميز بوضوح بين الأحرف الكبيرة والصغيرة. ليس هو نفسه archivo أن Archivo o ArChivoهذه أسماء مختلفة تمامًا. إذا أخطأت في كتابة حرف كبير في أمر ما، سيخبرك النظام أن الملف أو المجلد غير موجود، حتى لو بدا لك مطابقًا تمامًا.
لا تُعتبر التمديدات شرطًا أساسيًا
في Linux ، يتوفر ملف لا يحدد امتداد الملف نوعه أو سلوكه.ملف يسمى programa.exe ليس بالضرورة أن يكون الملف قابلاً للتنفيذ؛ فما يحدد إمكانية تنفيذه هو الأذونات، وفي بعض الحالات، المحتوى (الرؤوس، سطر التعريف، إلخ). تُستخدم الإضافات لتسهيل عمل المستخدم فقط، وليس لأن النظام يحتاجها لمعرفة ما يجب فعله.
المسافات والأحرف الخاصة في الأسماء
تُعد المسافات في أسماء الملفات صحيحة تمامًا، ولكن عند العمل في سطر الأوامر، يجب التعامل معها بحذر، لأن مُفسِّر الأوامر افصل بين المعاملات باستخدام المسافات.على سبيل المثال، إذا كتبت:
mkdir mis documentos
أنت في الواقع تقوم بإنشاء مجلدين، أحدهما يسمى نظم المعلومات الإدارية ومكالمة أخرى documentosللتعامل مع الاسم الكامل كوحدة واحدة، لديك خياران شائعان للغاية:
- استخدم علامات الاقتباس:
mkdir 'mis documentos' - مساحة الهروب مع علامة الخط المائل العكسي:
mkdir mis\ documentos
تلك الشخصية الهروبية (\يُستخدم الرمز ) أيضًا للرموز الخاصة الأخرى. ومن أكثرها شيوعًا ما يلي: \ " (علامة اقتباس مفردة)، » (علامة اقتباس مزدوجة)، \\ (شرطة مائلة عكسية)، \n (فاصل أسطر)، \t (جدولة) أو \r (إرجاع السطر).
الملفات والمجلدات المخفية
في نظام لينكس، يُعتبر الملف مخفياً بطريقة بسيطة للغاية: إذا كان اسمك يبدأ بنقطة، لا يظهر في القائمة العادية لـ lsلعرضها، عليك استخدام ما يلي:
ls -a
إذا كان لديك ملف يسمى miarchivo.txtستكون مرئية؛ ومع ذلك، .miarchivo.txt سيتم إخفاؤه ما لم تستخدم الخيار -aثمة احتمال آخر أقل شهرة: وهو إنشاء ملف يسمى .hidden وفي داخله، اذكر أسماء الملفات التي تريد إخفاءها في بعض برامج إدارة الملفات الرسومية. على الأقل في سطر الأوامر. يبقى المعيار الرئيسي للإخفاء هو نقطة البداية.
أوامر إدارة الملفات الأساسية
للتلاعب بالخصائص، يجب أولاً أن تكون مرتاحًا لإدارة الملفات والمجلدات على مستوى أساسي: إنشاء، حذف، نقل، نسخ، وعرض القوائم.
التنقل في نظام الملفات
لتغيير المجلدات، استخدم الأمر cd:
cd /ruta/al/directorio
إذا كتبت ببساطة cd بدون وسيط، ستنقلك واجهة الأوامر إلى وجهتك دليل شخصي (على سبيل المثال ، /home/tuusuarioلمعرفة موقعك في أي لحظة معينة، نستخدم ما يلي:
pwd
والذي يُظهر المسار الكامل لدليل العمل الحالي. لعرض محتوياته، نستخدم lsمما يتيح مجموعة جيدة من الخيارات لتعديل المعلومات المعروضة.
اعرض قائمة الملفات باستخدام الأمر ls
القيادة ls يُستخدم لعرض محتويات الدليل، وباستخدام مُعدِّلاته المختلفة يمكننا الحصول على معلومات مفصلة إلى حد ما حول كل ملف. ومن بين أكثرها فائدة:
- -a: يشمل الملفات المخفية (تلك التي تبدأ بنقطة)
- -l: تنسيق طويل، مع ذكر الأذونات، والمالك، والحجم، والتواريخ، وما إلى ذلك.
- -R: قائمة متكررة للمجلدات الفرعية
- -t: يرتب حسب تاريخ التعديل
- -r: يعكس ترتيب القائمة
- -i: يعرض رقم العقدة
- -sيعرض الحجم (بالوحدات) بجوار الاسم
إذا قمت بدمج، على سبيل المثال، ls -laستحصل على ملخص شامل للغاية يتضمن جميع المجالات التي نحتاج إلى البدء في الحديث عنها تقريبًا سمات الملف الكلاسيكية.
إنشاء وحذف الدلائل
لإنشاء الدلائل، نستخدم مكديرالاستخدام النموذجي سيكون:
mkdir midirectorio
إذا كنت في /home/lorenzoجميع الأوامر التالية تنشئ نفس الدليل مثال على هذا الطريق:
mkdir ejemplo
mkdir /home/lorenzo/ejemplo
mkdir ~/ejemplo
mkdir ./ejemplo
mkdir ../lorenzo/ejemplo
علامة التلدة ~ يمثلك الدليل الرئيسي, . يشير إلى الدليل الحالي و .. يشير إلى المجلد الرئيسي. إذا كنت ترغب في إنشاء مستويات متعددة في وقت واحد (على سبيل المثال) /home/lorenzo/este/es/otro/ejemplo (عندما لا يكون جزء من هذا الهيكل موجودًا)، يجب عليك إضافة الخيار -p:
mkdir -p /home/lorenzo/este/es/otro/ejemplo
لحذف المجلدات الفارغة، يوجد RMDIRولحذف الدلائل التي تحتوي على محتوى، نستخدم rm -rكما لا يعمل الأمر rmdir إلا إذا كان الدليل فارغًا تمامًا.
احذف الملفات والمجلدات باستخدام الأمر rm
القيادة rm يتولى هذا البرنامج حذف الملفات. لحذف ملف معين، ما عليك سوى:
rm archivo.txt
إذا أردنا حذف مجلد وكل ما بداخله، فإننا نستخدم الخيار -r (تكراري). إذا كنت لا تريد أن يسألك النظام أي شيء، يمكنك إضافة -f (قوة):
rm -rf directorio
هذا الأمر بالغ القوة والخطورة: rm-rf / يمكن تنفيذه كمسؤول امسح نظام الملفات بالكامللهذا السبب من الضروري أن تفهم تمامًا ما تقوم بحذفه قبل الضغط على زر الإدخال.
انسخ باستخدام الأمر cp وانقل باستخدام الأمر mv
لنسخ الملفات والمجلدات لدينا cpيدعم تركيبها الأساسي نسخ الملفات من ملف إلى ملف ومن ملف إلى مجلد:
cp archivo_origen archivo_destino
cp archivo_origen directorio_destino/
إذا كنت تقوم بنسخ مجلد، فأنت بحاجة إلى الخيار -R (o -r) بحيث تكون دالة تكرارية. علاوة على ذلك، يتضمن cp خيارات محددة للحفاظ على السماتهذا أمر أساسي عندما يتعلق الأمر بالأذونات والأوقات والخصائص الموسعة:
- -p: يحتفظ بالمالك والمجموعة والأذونات والتواريخ
- -aيحاول وضع الملف الاحتفاظ بجميع السمات الممكنة
- –preserve=mode,ownership,timestamps,xattrيحافظ على الأذونات والملكية والطوابع الزمنية والسمات الموسعة.
لنقل الملفات والمجلدات أو إعادة تسميتها، يمكنك استخدام mvالفكرة بسيطة: تقوم بتحديد الموقع الحالي أو الاسم والوجهة الجديدة أو الاسم الجديد.
mv /home/lorenzo/archivo.txt /home/lorenzo/directorio/archivo.txt
mv archivo_viejo.txt archivo_nuevo.txt
عند النقل داخل نظام الملفات نفسه، يحتفظ الأمر mv بجميع السمات افتراضيًاإلا إذا كانت الوجهة نظام ملفات محدود (على سبيل المثال، السمات الموسعة على محرك أقراص USB بنظام ملفات محدود).
عند النقل داخل نظام الملفات نفسه، يحتفظ الأمر mv بجميع السمات افتراضيًا، إلا إذا كانت الوجهة نظامًا لا يدعم بعضها (على سبيل المثال، السمات الموسعة على محرك أقراص USB بنظام ملفات محدود).
الأذونات الكلاسيكية: chmod والتمثيل الثماني
يعتمد نموذج الأذونات التقليدي في نظام لينكس على ثلاث مجموعات من البتات: المستخدم المالك، ومجموعة المالكين، وغيرهميمكن لكل شخص الحصول على إذن قراءة (r)، جاري الكتابة (w) والتنفيذ (xلتعديل هذه المجموعة، نستخدم الأمر شمود.
قم بتعديل الأذونات باستخدام الترميز الرمزي
الشكل الرمزي لـ شمود يوضح هذا القسم الجهات التي تنطبق عليها التغييرات، والعملية التي نقوم بها، والصلاحيات التي نضيفها أو نزيلها. ويكون هيكله كالتالي:
chmod archivo
- الذي:
u(مستخدم)،g(تَجَمَّع)،o(آحرون)،a(الجميع) - عملية:
+(يضيف)،-(يزيل)،=(حدد بدقة) - إذن:
r(قراءة)،w(كتابة)،x(تنفيذ)،s(setuid/setgid في سياقات محددة)
على سبيل المثال، إذا أردنا أن يتمكن المستخدم من قراءة وتنفيذ ملف يسمى manual_linux، سنفعل:
chmod u+rx manual_linux
إذا أردنا أن يتمكن أي شخص من قراءة ملف، فيمكننا استخدام ما يلي:
chmod a+r nombre_archivo
أو، بشكل أكثر وضوحاً، عن طريق التلاعب بالمستخدم والمجموعة والآخرين بشكل منفصل:
chmod u=r,g=r,o=r nombre_archivo
قم بتعديل الأذونات باستخدام الترميز الثماني
الطريقة الشائعة الأخرى للاستخدام شمود من خلال القيم الثمانيةيتم تمثيل كل مجموعة أذونات (مستخدم، مجموعة، آخرون) برقم من 0 إلى 7 بناءً على مجموع البتات المُفعّلة:
- r (القراءة) تساوي 4
- w (الكتابة) تساوي 2
- x (التنفيذ) يساوي 1
وبالتالي، فإن المستخدم الذي لديه أذونات القراءة والكتابة والتنفيذ سيكون لديه 7 (4+2+1)، ستكون المجموعة للقراءة فقط 5 (4+1)، والآخرون الذين لديهم التنفيذ فقط سيكون لديهم 1إذا أردنا، على سبيل المثال، أن يتمتع المستخدم بجميع الصلاحيات، وأن تتمتع المجموعة بصلاحيات القراءة والتنفيذ، وأن يتمتع باقي المستخدمين بصلاحيات التنفيذ فقط على ملف يسمى permisos.txtسنستخدم:
chmod 751 permisos.txt
عند الجري ls -l سنرى شيئاً من هذا القبيل -rwxr-x--xوالتي تتوافق مع تلك القيم. يُعد هذا النظام الثماني مناسبًا جدًا بمجرد أن تكون على دراية بالعلاقة بين الأرقام وبتات الأذونات.
عرض السمات والبيانات الوصفية باستخدام stat

رغم أن لس -l يوفر هذا النظام معلومات كثيرة؛ وأحيانًا نرغب في التعمق أكثر والتحقق من التواريخ الدقيقة أو خصائص محددة. وهنا يأتي دور الأمر. القانون الأساسي، عروض تفاصيل شاملة حول ملف أو نظام ملفات.
الاستخدام الأساسي للإحصاء
إذا قمت بتشغيل:
stat archivo.txt
ستحصل على ملخص يتضمن عدة حقول: الحجم، وعدد الكتل، ورقم العقدة، والأذونات، والمالك، والمجموعة، وثلاثة طوابع زمنية أساسية:
- استخدم (وقت الوصول): آخر تاريخ ووقت للوصول (للقراءة)
- عدل (mtime): آخر تعديل للمحتوى
- التغيير (ctime): آخر تغيير في البيانات الوصفية (الأذونات، المالك، إلخ).
وبالإضافة إلى ذلك، تتيح لك وظيفة stat تخصيص المخرجات مع المُعدِّل -c يتبع ذلك تنسيق. ومن بين المحددات العملية للغاية ما يلي:
- %xتاريخ آخر دخول
- %yتاريخ آخر تعديل
- %a: الأذونات في التدوين الثماني
على سبيل المثال، لعرض تاريخ آخر وصول فقط إلى prueba.txt:
stat -c %x prueba.txt
إذا كنت مهتمًا بمعرفة آخر وقت تم فيه تعديل محتواه، فستستخدم ما يلي:
stat -c %y prueba.txt
وللحصول على أذوناتك الثمانية مباشرة:
stat -c %a prueba.txt
إذا قرأت الملف باستخدام قط ثم إذا تحققت من الوقت مرة أخرى، سترى ذلك لقد تغير تاريخ الوصولوبالمثل، إذا أضفت محتوى مع صدى بالإضافة إلى إعادة التوجيه، سيتم تحديث وقت التعديل أيضًا.
تحقق من نظام الملفات باستخدام الأمر stat -f
عندما تكون مهتمًا بنظام الملفات ككل، وليس بملف معين، يمكنك استخدام القانون الأساسي مع الخيار -fفي هذه الحالة، تُظهر الأداة بيانات نظام الملفات العالمي: النوع، والحد الأقصى لحجم الملف، وعدد الكتل الحرة، وما إلى ذلك. وهذا مفيد بشكل خاص للمهام الإدارية واسعة النطاق.
سمات أنظمة الملفات الموسعة
بالإضافة إلى الأذونات التقليدية، تسمح لك بعض أنظمة الملفات (مثل ext2 وext3 وext4) بتعيين السمات الموسعة على مستوى النظام تُغيّر هذه الإعدادات سلوك الملفات. وهي ليست أذونات بحد ذاتها، ولكنها تُقيّد عمليات مثل الحذف أو التعديل أو تسجيل أوقات الوصول. وللتعامل معها، نستخدم بشكل أساسي الدردشة y lsattr.
استعلم عن سمات النظام باستخدام الأمر lsattr
القيادة lsattr يعرض هذا الأمر السمات الموسعة المرتبطة بالملفات والمجلدات. ويكون ناتجه عادةً عبارة عن سلسلة من الأحرف أو الشرطات تشير إلى العلامات النشطة. على سبيل المثال:
lsattr archivo.txt
قد يُعيد شيئًا مثل:
----i---------e------- archivo.txt
إذا كنت ترغب في وصف أكثر وضوحًا، يمكنك إضافة الخيار -l:
lsattr -l archivo.txt
وسترى تسميات مثل غير قابل للتغيير o الإضافة فقط بجوار اسم الملف، مما يسهل فهم السلوك الخاص الذي يتمتع به.
أكثر سمات النظام شيوعًا
من بين سمات النظام الموسعة المختلفة، هناك بعض السمات التي يتم استخدامها بشكل متكرر بسبب تأثيرها المباشر على الأمان والأداء:
- aوضع الإضافة فقط. الملف لا يمكن فتحه إلا لإضافة البيانات في النهايةلا يمكن اقتطاعها أو تعديل محتواها الحالي.
- A: يعطل تحديثات وقت الوصول (لا تنتظر), بحيث تتم قراءة الملف لا يغير ذلك علامة الوصول الخاصة بهمما قد يحسن الأداء في ظل أحمال معينة.
- dيتم استبعاد الملف من النسخ الاحتياطية التي يتم إجراؤها باستخدام أدوات مثل
dump(ممنوع تفريغ النفايات). - D: يقوم بمزامنة محتويات الدليل مع القرص في كل عملية كتابة.
- iالسمة غير القابلة للتغيير. الملف لا يمكن حذفه أو إعادة تسميته أو تعديله أثناء تفعيل هذا العلم، لن يعمل حتى مع صلاحيات الجذر، إلا إذا قام الجذر بإزالة العلم أولاً.
- S: يفرض مزامنة القرص للكتابة إلى ذلك الملف.
- eيشير الرمز : إلى أن الملف يستخدم نطاقات لتعيين الكتل على القرص. هذا أمر شائع في نظام الملفات ext4 و لا يمكن تعديله باستخدام chattr.
لا يمكن تغيير هذه السمات إلا بواسطة مدير النظاموذلك تحديداً لأنها تؤثر على السلوك الداخلي لنظام الملفات ويمكن استخدامها كآلية حماية.
قم بتعديل خصائص النظام باستخدام chattr
يُستخدم الأمر لإضافة أو إزالة سمات النظام الموسعة. الدردشةصيغته العامة هي:
chattr archivo...
تعمل هذه المعاملات بشكل مشابه لمعاملات الأمر chmod:
- +: يضيف السمة أو السمات المحددة إلى السمات الموجودة
- -: يزيل السمات المحددة من السمات النشطة بالفعل
- =: يحدد السمات المحددة بدقة، ويستبدل أي سمات أخرى.
على سبيل المثال، لتمييز ملف على أنه غير قابل للتغيير:
sudo chattr +i prueba.txt
أما لإزالة هذا الثبات، فستفعل ما يلي:
sudo chattr -i prueba.txt
كما ترى ، لا يمكن إلا للمستخدم الجذر تعيين أو إزالة بعض العلامات الحساسة مثل عدم قابلية التغيير. وقد تخضع سمات أخرى، بحسب نظام الملفات، لقيود إضافية.
سمات المستخدم الموسعة (xattr)
بالإضافة إلى سمات النظام، هناك مستوى آخر من البيانات الوصفية يسمى سمات المستخدم الموسعة (xattr)، التي لا تؤثر على الأذونات أو القدرة على تعديل الملف أو حذفه. تُستخدم هذه السمات لتخزين أزواج إضافية من المفاتيح والقيم: على سبيل المثال، بيانات حول المؤلف، وبيانات تعريف التطبيق، والوسوم، وما إلى ذلك.
متطلبات استخدام سمات المستخدم
لاستخدام هذه الخصائص، يجب تثبيت نظام الملفات باستخدام الخيار user_xattr وقم بتثبيت الحزمة ATTRوالتي توفر الأوامر اللازمة. بمجرد استيفاء هذه الشروط، يمكننا إدارة xattr باستخدام الأداة. ATTR.
إدارة سمات المستخدم باستخدام attr
القيادة ATTR يوفر البرنامج عدة خيارات لإدراج السمات أو إضافتها أو عرضها أو حذفها:
- -قل: يسرد جميع خصائص الملف
- -Qs: يضيف أو يعدل سمة
- -كجم: يعرض قيمة سمة معينة
- -قر: يحذف سمة
إذا كنت ترغب، على سبيل المثال، في إضافة سمة تسمى مؤلف إلى ملف fichero1.txt بشجاعة Etaboadaيمكنك أن تفعل:
attr -qs autor -V "Etaboada" fichero1.txt
ثم، لمعرفة خصائص هذا الملف، يكفي القيام بما يلي:
attr -ql fichero1.txt
تُعد هذه الخصائص مفيدة للغاية للتطبيقات أو البرامج النصية التي تحتاج إلى الحفظ معلومات إضافية مرتبطة بالملفات دون خلطه بمحتوياته.
احتفظ بالخصائص الموسعة عند النسخ أو المزامنة
تفصيل مهم هو ذلك لا تحافظ جميع عمليات الملفات تلقائيًا على السمات الموسعة.إذا كنت بحاجة إليها، فسيتعين عليك إضافة خيارات محددة إلى الأدوات التي تستخدمها:
| cp | –preserve=mode,ownership,timestamps,xattr |
| mv | احتفظ بالخصائص الافتراضية، إلا إذا كان النظام المستهدف لا يدعمها. |
| قطران | –xattrs (عند إنشاء ملف tar واستخراجه) |
| com.bsdtar | -p (في الاستخراج) للحفاظ على السمات |
| رسينك | –xattrs لمزامنة السمات الموسعة مع البيانات |
إذا أغفلت هذه الخيارات، فمن المرجح جداً أن فقدان ملفات xattr أثناء عمليات النسخ أو النسخ الاحتياطي أو المزامنةمما قد يؤدي إلى سلوك غير متوقع في التطبيقات التي تعتمد عليها.
قوائم التحكم بالوصول (ACLs) للأذونات الدقيقة
يُعد نموذج الأذونات التقليدي (المستخدم، والمجموعة، وغيرهم) فعالاً في كثير من الحالات، ولكنه لا يفي بالغرض عندما تحتاج إلى شيء أكثر دقة، مثل منح الصلاحيات. أذونات محددة لمستخدمين مختلفين أو مجموعات محددةهذا هو الغرض منها. دوري أبطال آسيا (قوائم التحكم في الوصول)، التي توسع نظام الأذونات من خلال توفير تحكم أكثر دقة.
متى يُنصح باستخدام ACL بدلاً من chmod فقط؟
تخيل أن لديك مجلدًا مشتركًا وتريد أن لا يُسمح بالكتابة إلا لثلاثة مستخدمين محددين في هذا النموذج، بينما لا يستطيع الباقون سوى القراءة. مع النموذج التقليدي، سيتعين عليك التعامل مع المجموعة المالكة وصلاحيات الآخرين، وهو ما قد يصبح معقدًا أو ببساطة لا يتوافق مع سياسة الأمان التي تحاول تطبيقها. تسمح لك قوائم التحكم بالوصول (ACLs) بتحديد، على سبيل المثال، أن المستخدم user1 ديك rwx, user2 ديك rx والباقي فقط rكل هذا دون تغيير مفرط في بنية المجموعة للنظام.
قم بتثبيت أدوات ACL
في العديد من التوزيعات، لا يتم تثبيت أوامر إدارة قوائم التحكم بالوصول (ACLs) افتراضيًا. إذا لم تكن مثبتة لديك، فعادةً ما يكفي تثبيت الحزمة. دوري أبطال آسياعلى سبيل المثال، في الأنظمة القائمة على دبيان أو أوبونتو، يمكنك القيام بما يلي:
sudo apt install acl
سيوفر لك هذا الأوامر مجموعة y com.getfaclضروري للعمل مع قوائم التحكم في الوصول.
قم بتعيين قائمة التحكم بالوصول (ACL) باستخدام setfacl
القيادة مجموعة يُستخدم لإضافة أو تعديل إدخالات قوائم التحكم بالوصول (ACL) في الملفات والمجلدات. صيغته الأساسية هي:
setfacl {ACCIÓN}{ESPECIFICACIÓN_ACL} archivo_o_directorio
الإجراءات الأكثر استخداماً هي:
- -m: يقوم بتعديل (أو إضافة) إدخال ACL
- -x: يزيل إدخال ACL موجود
تأتي مواصفات ACL بالشكل التالي:
- u:username:permissions للمستخدمين
- g:groupname:permissions للمجموعات
على سبيل المثال، لنفترض أن هناك دليلاً /home/shared يملكها المستخدم الجذر، ولا يمكن للمستخدمين الآخرين الوصول إليها إلا في وضع القراءة فقط. إذا كنت ترغب في user1 لقراءة هذا الدليل وكتابة البيانات فيه والوصول إليه، يمكنك القيام بما يلي:
sudo setfacl -m u:user1:rwx /home/shared
من المهم ملاحظة أنه على الرغم من التصريح آخرون للقراءة فقط، قائمة التحكم بالوصول لـ user1 سيمنحك ذلك أذونات إضافية لهم الأولوية على الكمامة العامةبشرط أن يسمح القناع بذلك.
عرض قائمة التحكم بالوصول (ACL) باستخدام getfacl
لفحص قوائم التحكم بالوصول (ACLs) لملف أو دليل، يمكنك استخدام com.getfaclومن الأمثلة النموذجية على ذلك:
getfacl /home/shared
والذي قد يُظهر شيئًا مثل:
# file: shared
# owner: root
# group: root
user::rwx
user:user1:rwx
group::r-x
mask::rwx
other::r-x
هنا يمكن ملاحظة أنه بالإضافة إلى إدخال المالك الأساسي (user::rwx), يظهر إدخال خاص للمستخدم 1، المجموعة الأولى والقناع (mask::)، مما يحد من الحد الأقصى لمجموعة الأذونات الفعالة للمستخدمين والمجموعات بخلاف المالك.
قم بإزالة قائمة التحكم بالوصول (ACL) باستخدام الأمر setfacl -x
لإزالة إدخال ACL محدد، نواصل استخدام مجموعةولكن مع الخيار -xالمواصفات مشابهة لتلك المستخدمة لإنشائها، ولكن بدون الأذونات. إذا كان ناتج getfacl موسترا:
user:user1:rwx
المواصفات ذات الصلة ستكون u:user1لإزالته، سنستخدم ما يلي:
setfacl -x u:user1 /home/shared
وبعد ذلك، مكالمة أخرى إلى getfacl سأؤكد ذلك اختفى إدخال قائمة التحكم بالوصول (ACL) الخاص بهذا المستخدم.وستخضع أذوناتهم مرة أخرى للنموذج الكلاسيكي فقط (المستخدم/المجموعة/الآخرون).
أدوات الاستعلام والبحث ذات الصلة
ولإكمال الصورة، يجدر تذكر بعض الأدوات المساعدة الشائعة الاستخدام عند العمل مع الملفات من خلال الطرفية، والتي لا تقوم بتعديل السمات بشكل مباشر ولكنها تعتمد عليها أو تساعدنا في تحديد موقع المعلومات بكفاءة.
ابحث عن الملفات باستخدام خاصية البحث والتصفية حسب السمات
القيادة جد يتيح البحث عن الملفات بناءً على معايير شديدة التباينالاسم، الحجم، تاريخ الإنشاء أو التعديل، المالك، المجموعة، الأذونات، إلخ. الحد الأدنى لصيغته هو:
find ruta
تتضمن بعض الخيارات المثيرة للاهتمام للعمل مع السمات والبيانات الوصفية ما يلي:
- -name "pattern": يحدد الملفات التي يتطابق اسمها مع النمط المحدد
- -user user: يبحث عن الملفات التي تخص مستخدمًا معينًا
- -مجموعة مجموعة: يبحث عن الملفات التي تتطابق مجموعة مالكيها مع المجموعة المحددة
- الوضع -perm: تصفية حسب الأذونات، باستخدام الترميز الرمزي أو الثماني
- -الحجم +nK: يحدد موقع الملفات الأكبر من n كيلو بايت
- -ctime n: الملفات التي تم إنشاؤها أو تغييرها منذ n أيام
- -العمق الأقصى ن: يحد من مستوى عمق البحث إلى n الدلائل
- -إتبع: يتبع الروابط الرمزية
بالإضافة إلى ذلك، يمكنك دمج البحث مع إجراءات مثل -طباعة لعرض النتائج أو إكسيك لتنفيذ أمر على كل ملف يتم العثور عليه. على سبيل المثال، لتحديد موقع جميع الملفات ذات الامتداد . .bak منخفض /usr/doc ماذا ستفعل؟
find /usr/doc -name "*.bak" -exec rm -f {} \;
تسلسل {} يتم استبدالها باسم الملف، و \; يشير إلى نهاية الأمر المراد تنفيذه.
افحص المحتوى باستخدام الأمر cat وابحث عن النص باستخدام الأمر grep
لعرض محتويات ملف نصي بسرعة، فإن الطريقة التقليدية هي قطوالذي يُخرج المحتوى إلى المخرج القياسي. مع خيارات مثل -n (رقم جميع الأسطر) أو -b (ترقيم الأسطر غير الفارغة فقط) يمكن أن يسهل القراءة في بعض الحالات.
من جانبها، البقرى إنها الأداة المثالية لـ ابحث عن أنماط النصوص داخل الملفاتيقبل هذا البرنامج التعبيرات النمطية ويحتوي على العديد من المُعدِّلات، على سبيل المثال:
- -i: يتجاهل الأحرف الكبيرة والصغيرة
- -c: يوضح عدد الأسطر التي تتطابق مع النمط
- -l: يعرض فقط أسماء الملفات التي تحتوي على النمط
- -v: يعرض الأسطر التي لا تتطابق
من خلال الجمع بين البحث، والبحث باستخدام grep، والأدوات التي تم استعراضها سابقًا، يمكنك بناء مسارات قوية للغاية لـ تدقيق الأذونات، وتحديد موقع الملفات ذات السمات المحددة أو ببساطة ابحث عما تحتاجه في شجرة دليل كبيرة.
مع كل هذه المجموعة من الموارد - بدءًا من التصاريح التقليدية التي تتم إدارتها بواسطة شمود حتى السمات الموسعة مع الدردشة y ATTR، مروراً عبر خطوط التحكم الأمامية مع مجموعة y com.getfacl والاستفسارات التفصيلية لـ القانون الأساسي— لديك الآن رؤية كاملة إلى حد ما لكيفية التعامل مع سمات الملفات في نظام لينكس من خلال الطرفية، بأمان ودقة، وتعديل السلوك والوصول إلى ملفاتك بما يتجاوز بكثير ما تسمح به الخيارات الأساسية.