أذونات نظام الملفات
عادةً، يحتفظ نظام الملفات بإعدادات أذونات لكل عنصر مخزّن - غالباً الملفات والمجلدات - والتي تمنح أو تمنع إمكانية التعامل مع عناصر نظام الملفات. وتتيح هذه الإعدادات في كثير من الأحيان التحكم في الوصول بناءً على وظائف مثل القراءة والتعديل والتنقل والتنفيذ، وذلك لمستخدمين ومجموعات مستخدمين مختلفة.
طُوّرت إحدى التقنيات الراسخة لنظام يونكس ، ثمّ تمّ تقنينها لاحقًا بواسطة معيار POSIX وتُستخدم في لينكس [ 1 ] . وهناك تقنية شائعة أخرى هي قائمة التحكم بالوصول (ACL) التي تتوفّر منها عدّة صيغ مُطبّقة في أنظمة الملفات، وصيغة مُقنّنة بواسطة معيار POSIX. ولأنّ معيار POSIX يُعرّف كلاً من التقنية القديمة القائمة على يونكس وقوائم التحكم بالوصول، يُطلق على الأولى اسم " أذونات POSIX التقليدية" تبسيطًا للأمر، على الرغم من أنّ هذا المصطلح ليس شائعًا.
تُخصّص واجهة المستخدم القائمة على الأذونات الوظائف المتاحة للمستخدم بناءً على أذونات عناصر نظام الملفات. على سبيل المثال، قد تُخفي الواجهة خيارات القائمة غير المسموح بها استنادًا إلى الأذونات المخزنة لعنصر ما.
تاريخ
CTSS
كان نظام المشاركة الزمنية المتوافق (CTSS) أحد أنظمة المشاركة الزمنية المبكرة ، وكان يدعم عدة مستخدمين؛ وكان لكل حساب مستخدم "رقم مشكلة" و"رقم مبرمج". [ 2 ]
كان الإصدار الأول من نظام ملفات CTSS يدعم نمطين فقط للملفات "للقراءة فقط"، أحدهما يمكن للمستخدم إلغاء تفعيله، والآخر لا يمكن إلغاء تفعيله إلا ببطاقات تعديل تُرسل إلى مركز الحاسوب. [ 2 ] : 45-46. يمكن مشاركة الملفات بين المستخدمين في المشروع نفسه؛ وتُخصص الملفات المشتركة للمبرمج رقم صفر. [ 2 ] : 24. لا توجد حماية أخرى غير تلك التي توفرها بتات القراءة فقط.
يحتوي الإصدار الثاني من نظام الملفات على بتات أذونات منفصلة للقراءة فقط والكتابة فقط؛ حيث تسمح الأخيرة بإضافة البيانات إلى الملف فقط. كما يحتوي على بت "خاص"، يسمح لمؤلف الملف فقط بالوصول إليه، وبت "محمي"، يسمح لمؤلف الملف فقط بتغيير أذونات الملف. [ 3 ]
Multics
يمتلك المستخدمون في نظام المشاركة الزمنية Multics معرّفًا شخصيًا (Person_id)، بينما تمتلك المشاريع معرّفًا مشروعًا (Project_id). يسجل المستخدم دخوله إلى النظام باستخدام معرّفه الشخصي ومعرّف المشروع. يحتوي الملف على قائمة تحكم بالوصول (ACL)، تتضمن مدخلات تحتوي على معرّف شخصي أو علامة "*"، ومعرّف مشروع أو علامة "*"، وعلامة مثيل أو علامة "*". تمثل علامة المثيل نوع العملية؛ على سبيل المثال، تمثل علامة "a" عملية من جلسة تفاعلية عادية. تتم مطابقة المدخلات في قائمة التحكم بالوصول مع المعرّف الشخصي ومعرّف المشروع وعلامة المثيل الخاصة بالعملية؛ علامة "*" هي حرف بدل يطابق جميع المعرّفات الشخصية أو معرّفات المشاريع أو علامات المثيل. يتم استخدام مدخل قائمة التحكم بالوصول الذي يطابق أقل عدد من أحرف البدل. [ 4 ] : 6-2، 6-46-8
تحتوي قائمة التحكم بالوصول (ACL) لملف على أذونات الوصول "قراءة" و"كتابة" و"تنفيذ"؛ بينما تحتوي قائمة التحكم بالوصول (ACL) لمجلد على أذونات الوصول "حالة" (تسمح بقراءة خصائص الملفات والمجلدات في المجلد)، و"تعديل" (تسمح بتعديل خصائص الملفات والمجلدات في المجلد وحذف العناصر منه)، و"إلحاق" (تسمح بإضافة عناصر جديدة إلى المجلد). [ 4 ] : 6-3
تينكس
ينتمي المستخدم في TENEX إلى مجموعة من المجموعات. [ 5 ] : 44
يحتوي الملف أو المجلد على مجموعة من بتات الأذونات، ستة منها لأذونات مالك الملف أو المجلد، وستة أخرى لأذونات المستخدمين الآخرين في مجموعة الملف أو المجلد، وستة ثالثة للمستخدمين الآخرين. بالنسبة للملف، تكون بتات الأذونات هي: "قراءة"، "كتابة"، "تنفيذ"، "إضافة"، و"لكل صفحة من صفحات الملف أذوناتها الخاصة"، مع العلم أن البت السادس غير مستخدم. أما بالنسبة للمجلد، فتكون بتات الأذونات هي: "السماح بالوصول" (إذا لم يتم تعيينها، فلا يُسمح بالوصول إلى المجلد)، "يمكن فتح الملفات الموجودة في المجلد" (رهنًا ببتات أذونات الملف)، "يمكن تنفيذ وظائف مشابهة لوظائف المالك دون الحاجة إلى كلمة مرور الملف"، و"يمكن إضافة ملفات إلى المجلد"، مع العلم أن البت الخامس والسادس غير مستخدمين. [ 5 ] : 42-44
أفضل 10
يحتوي حساب المستخدم في TOPS-10 على رقم مبرمج ورقم مشروع.
يحتوي الملف على مجموعة من بتات الأذونات، ثلاثة منها لأذونات مالك الملف، وثلاثة أخرى لأذونات المستخدمين الآخرين الذين يحملون نفس رقم المشروع الخاص بالمالك، وثلاثة لجميع المستخدمين الآخرين. يمكن تهيئة نظام التشغيل بحيث يعتبر أي حساب يحمل رقم مبرمج مطابقًا لرقم مبرمج المجلد الحاوي مالكًا للملف، أو بحيث يعتبر فقط الحساب الذي يحمل نفس رقم المبرمج ورقم المشروع الخاصين بالمجلد الحاوي مالكًا للملف. قيم بتات الأذونات هي:
- 7- لا توجد امتيازات وصول، باستثناء أنه يجوز للمالك البحث عن الملف لتغيير أذوناته؛
- 6- للتنفيذ فقط؛
- 5- القراءة والتنفيذ؛
- 4- الإلحاق والقراءة والتنفيذ؛
- 3- التحديث، والإلحاق، والقراءة، والتنفيذ؛
- 2- الكتابة والتحديث والإلحاق والقراءة والتنفيذ؛
- 1- إعادة التسمية، والكتابة، والتحديث، والإلحاق، والقراءة، والتنفيذ؛
- 0 - تغيير الأذونات، إعادة التسمية، الكتابة، التحديث، الإلحاق، القراءة، والتنفيذ.
يُسمح للمالك دائمًا بتغيير الأذونات. [ 6 ]
أنظمة يونكس والأنظمة الشبيهة بيونكس
كانت الملفات في الإصدار الأول من نظام يونكس (الإصدار 1) تحتوي على خمسة بتات من الأذونات:
- يكتب، غير مالك؛
- قراءة، غير مالك؛
- اكتب، يا مالك؛
- اقرأ يا مالك؛
- ملف تنفيذي؛
وبتة تحديد المعرف الفريد (UID) . [ 7 ] لم يكن لديه مفهوم المجموعات. استمر هذا حتى الإصدار الثالث (v3)؛ [ 8 ] قدم الإصدار الرابع (v4) المجموعات، وكانت الملفات في الإصدار الرابع تحتوي على تسعة بتات من الأذونات:
- اقرأ يا مالك؛
- اكتب، يا مالك؛
- تنفيذ، مالك؛
- اقرأ، ثم اجمع؛
- اكتب، اجمع؛
- تنفيذ، تجميع؛
- اقرأ، أخرى؛
- كتابة، أخرى؛
- تنفيذ، أخرى؛
بالإضافة إلى بت set-UID و set-GID ؛ [ 9 ] هذه هي نفس مجموعة الأذونات المحددة في POSIX والتي توفرها أنظمة Unix الحالية والأنظمة الشبيهة بـ Unix .
أمثلة
تم تطبيق أذونات نظام الملفات بطرق عديدة. وفيما يلي بعض الأمثلة البارزة.
يستخدم نظام الملفات NTFS، الموجود في العديد من إصدارات ويندوز بما في ذلك الإصدار الحالي ، قوائم التحكم بالوصول (ACLs) لتوفير التحكم في الوصول القائم على الأذونات؛ وتُعتبر قوائم التحكم بالوصول في نظام NTFS قوية ولكنها معقدة. [ 10 ]
تدعم أنظمة ملفات لينكس، مثل ext2 و ext3 و ext4 و Btrfs ، كلاً من أذونات POSIX وقوائم التحكم بالوصول POSIX.1e. ويوجد دعم تجريبي لقوائم التحكم بالوصول NFSv4 لأنظمة الملفات ext3 [ 11 ] وext4.
يدعم نظام FreeBSD قوائم التحكم بالوصول POSIX.1e على نظام الملفات UFS، وقوائم التحكم بالوصول NFSv4 على نظامي الملفات UFS وZFS. [ 12 ] [ 13 ]
لا يدعم نظام الملفات HFS ، وخليفته HFS+ ، كما هو مطبق في أنظمة التشغيل الكلاسيكية Mac OS ، الأذونات.
يدعم نظام macOS أذونات POSIX، سواءً في نظام الملفات HFS+ أو APFS . بدءًا من الإصدار 10.4 ("Tiger")، يدعم أيضًا استخدام قوائم التحكم بالوصول NFSv4 بالإضافة إلى أذونات POSIX. يوصي دليل إدارة خدمات الملفات لنظام Apple Mac OS X Server الإصدار 10.4 والإصدارات الأحدث باستخدام أذونات Unix التقليدية فقط إن أمكن. كما يدعم macOS سمة "محمي"/"مقفل" الخاصة بنظام Mac OS الكلاسيكي كعلامة "غير قابل للتغيير من قِبل المستخدم" في حقل علامات 4.4BSD . [ 14 ]
يحتوي جدول تخصيص الملفات (الإصدار الأصلي) على سمة للقراءة فقط لكل ملف تنطبق على جميع المستخدمين.
يُعرّف نظام OpenVMS أربع وظائف وصول: القراءة، والكتابة، والتنفيذ، والحذف، بالإضافة إلى خيارات المستخدم: النظام، والمالك، والمجموعة، والعالم، حيث يشمل العالم المجموعة التي تشمل بدورها المالك، ويختار النظام مستخدمي النظام. يُشابه هذا التصميم تصميم نظام Unix مع إضافات ملحوظة: وظيفة إضافية: الحذف، وخيار مستخدم إضافي: النظام. [ 15 ] يدعم نظام VMS 4.0 والإصدارات الأحدث قوائم التحكم بالوصول (ACLs). [ 16 ]
يعتمد دعم قوائم التحكم بالوصول (ACL) في نظام Solaris على نظام الملفات المستخدم؛ يدعم نظام الملفات UFS الأقدم قوائم التحكم بالوصول POSIX.1e، بينما يدعم نظام ZFS قوائم التحكم بالوصول NFSv4 فقط. [ 17 ]
يقوم نظام التشغيل IBM z/OS بتطبيق أمان الملفات باستخدام RACF (مرفق التحكم في الوصول إلى الموارد) [ 18 ]
يدعم نظام ملفات AmigaOS، المعروف أيضًا باسم AmigaDOS، نظام أذونات متقدمًا نسبيًا بالنسبة لنظام تشغيل أحادي المستخدم. في AmigaOS 1.x، كانت الملفات تتمتع بأذونات/علامات الأرشفة والقراءة والكتابة والتنفيذ والحذف (المعروفة مجتمعةً باسم ARWED). في AmigaOS 2.x والإصدارات الأحدث، أُضيفت أذونات/علامات إضافية مثل الحفظ والبرمجة النصية والملفات النقية.
يستخدم نظام التشغيل OpenHarmony، إلى جانب نظامه البيئي من جانب العميل في Oniro OS و HarmonyOS مع إصدارات HarmonyOS NEXT ، وكذلك نظام تشغيل خادم openEuler المبني على Linux ، نظام الملفات الموزعة Harmony (HMDFS) الذي يدعم مدير رموز الوصول ( التحكم في الوصول القائم على الأدوار ) وواجهة برمجة تطبيقات Core File Kit القائمة على الإمكانيات مع إدارة أذونات دقيقة، باستثناء openEuler الذي يتميز بدقة عالية . [ 19 ]
أذونات POSIX التقليدية
تقليديًا، تُحدد أذونات الملفات في نظام ملفات يونكس وفقًا لمعيار POSIX.1. [ 20 ] يحدد هذا المعيار ثلاث فئات (المستخدم، والمجموعة، وغيرهم) تسمح بربط الأذونات بالمستخدمين، وثلاث عمليات (القراءة، والكتابة، والتنفيذ) يمكن منحها أو رفضها لكل فئة. عند إنشاء ملف، تكون أذوناته الافتراضية هي تلك المتاحة عبر الأمر umask.
في نظام الملفات القائم على نظام يونكس، كل شيء عبارة عن ملف، حتى الدلائل والملفات الخاصة الأخرى .
الصفوف الدراسية
تحدد الفئات كيفية ربط الأذونات بالمستخدم. تنطبق أذونات فئة المستخدم على المستخدم الذي يملك الملف. تنطبق أذونات فئة المجموعة على مستخدمي المجموعة المالكة للملف . أما أذونات فئة الآخرين فتنطبق على المستخدمين الآخرين.
تُعرَّف الصلاحيات الفعّالة بأنها صلاحيات الفئة التي ينتمي إليها المستخدم أولاً، وذلك وفق الترتيب التالي: المستخدم، ثم المجموعة، ثم باقي المستخدمين. على سبيل المثال، يمتلك المستخدم المالك صلاحيات فعّالة لفئة المستخدم حتى لو كان ضمن المجموعة المالكة.
الأذونات
تمنح الأذونات التالية إمكانية إجراء العمليات المقابلة على الملفات والمجلدات:
اقرأ (ر)
- بالنسبة للملفات: يمنح القدرة على قراءة محتويات الملف (وليس اسمه أو بياناته الوصفية، والتي يتم تحديدها من خلال أذونات الدليل الأصل).
- بالنسبة للمجلدات: يمنح القدرة على قراءة أسماء إدخالات الدليل للملفات والمجلدات الموجودة بداخله، ولكن ليس للوصول إلى بياناتها الوصفية ( inode ) وبالتالي محتواها، والذي يتم تحديده بواسطة إذن تنفيذ الدليل .
اكتب (w)
- بالنسبة للملفات: يمنح هذا الخيار إمكانية تعديل محتويات الملف.
- بالنسبة للمجلدات: يمنح القدرة على تعديل الإدخالات في الدليل، مما يسمح بإنشاء وحذف وإعادة تسمية ملفاته أو مجلداته.
- يتطلب ذلك أيضًا إذن التنفيذ للوصول إلى البيانات الوصفية ( inode ) لجميع الملفات والمجلدات التي يحتويها. لذلك، بدون إذن التنفيذ ، يصبح إذن الكتابة عديم الجدوى.
نفّذ (x)
- بالنسبة للملفات: يمنح هذا الإذن إمكانية تشغيل الملف. يجب تعيين هذا الإذن للبرامج القابلة للتنفيذ للسماح بتشغيلها.
- ويتطلب ذلك أيضاً الحصول على إذن القراءة .
- بالنسبة للمجلدات: يمنح هذا الإذن إمكانية قراءة البيانات الوصفية للملفات والمجلدات الموجودة بداخله إذا كانت أسماؤها معروفة، ولكنه لا يمنح إمكانية قراءة أسمائها. يؤدي عدم وجود إذن تنفيذ للمجلد إلى منع قراءة وكتابة محتوى الملفات والمجلدات الموجودة بداخله.
- إن وجود مجلد لديه إذن تنفيذ ولكن بدون إذن قراءة يجعل الوصول إلى محتويات ملفاته ومجلداته أشبه بلعبة تخمين الأسماء.
متطلبات الوصول العامة داخل الدلائل
يتطلب الوصول إلى محتوى ملف أو دليل داخل دليل ما ما يلي:
- معرفة اسمه الذي يمكن اكتشافه إذا تم تعيين إذن قراءة الدليل الأصل (أو عن طريق تخمين اسمه).
- يُمنح الدليل الأصل إذن التنفيذ للوصول إلى ملف أو عقدة الدليل (inode) .
- أذونات القراءة والكتابة والتنفيذ المقابلة لها .
ملخص متطلبات الأذونات لعمليات الملفات
لقراءة ملف، تحتاج إلى:
- إذن قراءة الملف .
- تنفيذ الإذن على الدليل الأصل.
لكتابة ملف، تحتاج إلى:
- إذن كتابة الملف .
- تنفيذ الإذن على الدليل الأصل.
لتشغيل ملف، تحتاج إلى:
- إذن قراءة الملف وتنفيذه .
- تنفيذ الإذن على الدليل الأصل.
لمعرفة اسم الملف الذي تحتاجه:
- إذن قراءة الدليل الأصل.
لإضافة ملف أو إزالته أو إعادة تسميته، تحتاج إلى:
- إذن الكتابة والتنفيذ على الدليل الأصل.
ملحوظات
تتضمن البيانات الوصفية للملف أو الدليل عادةً معرف inode ونوع الملف وحجمه وملكيته (GUI وUID) وبتات الأذونات.
إن تأثير تحديد الأذونات على دليل، بدلاً من ملف، هو "أحد أكثر مشكلات أذونات الملفات التي يساء فهمها". [ 21 ]
بخلاف الأنظمة القائمة على قوائم التحكم بالوصول، لا يتم توريث هذه الأذونات. فالملفات التي يتم إنشاؤها داخل دليل ما لا تمتلك بالضرورة نفس أذونات الدليل الذي يحتويها.
تغيير سلوك الأذونات باستخدام setuid و setgid و sticky bits
تُطبق ثلاث سمات إضافية أحادية البت على كل ملف، وهي مرتبطة بالأذونات ويتم تخزينها في وضع الملف جنبًا إلى جنب مع الأذونات.
- يُحدد هذا الخيار وضع مُعرّف المستخدم ( setuid أو SUID). عند تشغيل ملف مع تفعيل هذا الخيار، يتم إنشاء عملية يكون مُعرّف المستخدم فيها هو المستخدم المالك للملف. وهذا يُتيح للمستخدمين العمل مؤقتًا بصلاحيات المستخدم الجذر (أو أي مستخدم آخر).
- يُستخدم مُعرّف المجموعة setgid أو SGID لتعيين إذن الوصول. عند تشغيل ملف مع تفعيل هذا البت ، يتم إنشاء عملية يكون مُعرّف مجموعتها هو نفسه مُعرّف مجموعة مالك الملف. عند تطبيقه على دليل، ترث الملفات والأدلة الجديدة المُنشأة ضمن هذا الدليل مجموعتها منه. (السلوك الافتراضي هو استخدام المجموعة الأساسية للمستخدم الفعلي عند تعيين مجموعة الملفات والأدلة الجديدة، باستثناء الأنظمة المُشتقة من BSD التي تعمل كما لو أن بت setgid مُفعّل دائمًا على جميع الأدلة (انظر Setuid )).
- الوضع اللاصق (المعروف أيضًا بوضع النص ). يتمثل السلوك التقليدي لبت التثبيت في الملفات التنفيذية في تشجيع نواة النظام على الاحتفاظ بصورة العملية الناتجة في الذاكرة حتى بعد انتهاء العملية؛ إلا أن هذا الاستخدام يقتصر الآن على عدد قليل من أنظمة التشغيل الشبيهة بنظام يونكس (مثل HP-UX و UnixWare ). في الدليل، يمنع إذن التثبيت المستخدمين من إعادة تسمية الملفات أو نقلها أو حذفها، حتى لو كانت لديهم صلاحية الكتابة إلى الدليل. ويُستثنى من ذلك مالك الدليل والمستخدم المتميز فقط.
التمثيل
تُمثل الأذونات عادةً بالرموز أو بالنظام الثماني.
الترميز الرمزي
يتم استخدام الترميز الرمزي في تنسيق الإخراج الطويل للأمر ls -l.
يشير الحرف الأول من الناتج إلى نوع ملف يونكس ، وهو ليس إذنًا رغم وجوده بجوار معلومات الأذونات. أما الأحرف التسعة المتبقية فتمثل الصلاحيات الممنوحة للمستخدم والمجموعة وفئات أخرى، كمجموعات من صلاحيات العمليات للقراءة والكتابة والتنفيذ. تُرفض العملية عند ظهورها على شكل شرطة (-)، وتُمنح عند ظهورها كـ " rقراءة" أو " wكتابة" أو x"تنفيذ".
أمثلة:
-rwxr-xr-xيشير الحرف الأول-إلى ملف عادي،rwxوتشير الأحرف الثلاثة التالية إلى أن فئة المستخدم لديها جميع الصلاحيات، وأن المجموعة والفئات الأخرى (كلاهماr-x) لديها صلاحيات القراءة والتنفيذ فقط.crw-rw-r--يشير الحرف الأوليcإلى ملف خاص بالأحرف، وتتمتع فئات المستخدم والمجموعة (كلاهماrw-) بصلاحيات القراءة والكتابة، بينماr--تتمتع الفئات الأخرى ( ) بصلاحية القراءة فقط.dr-x------يشير الرمز :dإلى دليل، فئة المستخدم (r-x) لديها صلاحيات القراءة والتنفيذ، والمجموعة والفئات الأخرى (كلاهما---) ليس لديهما أي صلاحيات
لتمثيل سمات setuid و setgid و sticky/text ، يتم تعديل الحرف الموجود في الموضع الثالث للفئة، حتى وإن كان هذا الموضع مخصصًا للتنفيذ فقط، وحتى وإن كانت هذه السمات تؤثر على الملف بغض النظر عن الفئة. تُعدّل سمة setuid حرف التنفيذ لفئة المستخدم، وتُعدّل سمة setgid حرف التنفيذ لفئة المجموعة، بينما تُعدّل سمة sticky أو text حرف التنفيذ لفئة other. بالنسبة لسمة setuid أو setgid، xيصبح الحرف `execute`، sويصبح الحرف `execute`. أما بالنسبة لسمة sticky أو text، فيصبح الحرف ` -execute` ، ويصبح الحرف `execute` . على سبيل المثال ، يشير هذا إلى ملف عادي، حيث تتمتع فئة المستخدم بصلاحيات القراءة والكتابة والتنفيذ؛ وتتمتع فئة المجموعة بصلاحية القراءة فقط؛ وتتمتع فئة other بصلاحيتي القراءة والتنفيذ فقط؛ وتم تعيين سمات setuid و setgid و sticky له .Sxt-T-rwsr-Sr-t
تُظهر بعض الأنظمة ميزات إضافية للأذونات:
+يشير اللاحقة إلى قائمة التحكم في الوصول التي يمكنها التحكم في أذونات إضافية.يشير اللاحقة إلى وجود سياق SELinux . يمكن عرض التفاصيل باستخدام الأمرls -Z@يشير اللاحقة إلى وجود سمات ملف موسعة
الترميز الثماني
تُعرض الصلاحيات عادةً بنظام العد الثماني ، على سبيل المثال عبر الأمر ` stat -c %a.`. يتكون هذا النظام من ثلاثة أرقام على الأقل. تمثل الأرقام الثلاثة الأخيرة نوع الصلاحية: مستخدم، مجموعة، وغيرهم. في حال وجود رقم رابع، فإن الرقم الموجود في أقصى اليسار يمثل السمات الخاصة الثلاث: setuid و setgid و sticky .
يتم تخصيص موضع بت لكل عملية، ويكون هذا الموضع بالنسبة للرقم الثماني كما يلي:
- القراءة: اليسار، ثنائي 100، ثماني 4
- اكتب: الوسط، ثنائي 010، ثماني 2
- التنفيذ: يمين، ثنائي 001، ثماني 1
قيمة إذن الفئة هي مجموع أو بديلًا عن ذلك منطق OR للمنح.
أمثلة:
| رمزي | ثماني | وصف |
|---|---|---|
---------- | 0000 | لا توجد أذونات |
-rwx------ | 0700 | القراءة والكتابة والتنفيذ مخصصة للمالك فقط |
-rwxrwx--- | 0770 | القراءة والكتابة والتنفيذ لصالح المالك والمجموعة |
-rwxrwxrwx | 0777 | القراءة والكتابة والتنفيذ لصالح المالك والمجموعة والآخرين |
-rwxr----- | 0740 | يمكن للمالك القراءة والكتابة والتنفيذ؛ ويمكن للمجموعة القراءة فقط؛ أما الآخرون فلا يملكون أي صلاحيات. |
مجموعة مستخدمين خاصة
تختلف بعض الأنظمة عن نموذج POSIX التقليدي للمستخدمين والمجموعات بإنشاء مجموعة جديدة - "مجموعة خاصة بالمستخدم" - لكل مستخدم. بافتراض أن كل مستخدم هو العضو الوحيد في مجموعته الخاصة، يسمح هذا النظام باستخدام قناع صلاحيات (umask) بقيمة 002 دون السماح للمستخدمين الآخرين بالكتابة إلى الملفات المُنشأة حديثًا في المجلدات العادية، لأن هذه الملفات تُخصص لمجموعة المستخدم المُنشئ. مع ذلك، عندما يكون من المرغوب فيه مشاركة الملفات، يمكن للمسؤول إنشاء مجموعة تضم المستخدمين المطلوبين، وإنشاء مجلد قابل للكتابة من قِبل المجموعة مُخصص للمجموعة الجديدة، والأهم من ذلك، تعيين معرف المجموعة (setgid) للمجلد. سيؤدي تعيين معرف المجموعة إلى تخصيص الملفات المُنشأة فيه لنفس مجموعة المجلد، وسيضمن قناع الصلاحيات 002 (المُفعّل باستخدام المجموعات الخاصة بالمستخدم) أن يتمكن الأعضاء الآخرون في المجموعة من الكتابة إلى تلك الملفات. [ 22 ] [ 23 ]
انظر أيضاً
- chattr أو chflags – تغيير السمات أو العلامات، بما في ذلك تلك التي تقيد الوصول
- chmod – أمر شل لتغيير أذونات الوصول إلى ملف
- lsattr – سرد السمات
- مقارنة أنظمة الملفات § البيانات الوصفية
مراجع
- ↑ "مسؤول النظام الكلاسيكي: فهم أذونات ملفات لينكس" . تم الاطلاع عليه بتاريخ 18 يونيو 2026 .
- 1 2 3 نظام المشاركة الزمنية المتوافق: دليل المبرمج (PDF) . مطبعة معهد ماساتشوستس للتكنولوجيا . 1963.
- ↑ نظام المشاركة الزمنية المتوافق: دليل للمبرمج (ملف PDF) (الطبعة الثانية ). مطبعة معهد ماساتشوستس للتكنولوجيا . 1965. القسم AD.2، صفحة 5.
- 1 2 دليل مرجعي لدليل مبرمج Multics (ملف PDF) . هانيويل . ديسمبر 1975.
- 1 2 دليل تنفيذي لشركة تينكس (ملف PDF) . بي بي إن . أبريل 1973.
- ↑ دليل مكالمات مراقبة نظام DEC 10 (ملف PDF) . شركة DEC . مايو 1974.
- ↑ دليل مبرمج يونكس، استدعاءات النظام، الجزء 1 (PDF) . 3 نوفمبر 1971. SYS CHMOD (II).
- ↑ "ملف مضغوط يحتوي على صفحات الدليل v3؛ انظر stat.2" .
- ↑ "ملف مضغوط يحتوي على صفحات الدليل v4؛ انظر stat.2" .
- ↑ "أذونات الملفات والمجلدات" . مايكروسوفت. 9 ديسمبر 2009.
- ↑ "قوائم التحكم بالوصول الأصلية لبروتوكول NFSv4 على نظام لينكس" . مؤرشف من الأصل بتاريخ 12 أكتوبر 2008. تم الاطلاع عليه بتاريخ 4 مايو 2010 .
- ↑ "NFSv4_ACLs – FreeBSD Wiki" .
- ↑ "دليل مستخدمي FreeNAS 9.1.1" (ملف PDF) . 2013. مؤرشف من النسخة الأصلية (ملف PDF) في 24 سبتمبر 2015.
- ↑ جيت، فيفيك (3 يونيو 2010). "نظام التشغيل أبل أو إس إكس: حماية الملف من الكتابة من سطر الأوامر" .
- ↑ "وثائق OpenVMS" . مؤرشفة من الأصل في 5 مارس 2012. تم الاطلاع عليها في 6 يونيو 2009 .
- ↑ "أنظمة الملفات: الحماية" . شرائح محاضرة CS322 .
- ↑ "دليل إدارة نظام الملفات ZFS لنظام أوراكل سولاريس" (ملف PDF) . سبتمبر 2010.
- ↑ "مركز معارف IBM" .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "دليل تطوير نظام الملفات الموزعة HarmonyOS" . Substack . مدونة LivingInHarmony. 13 مارس 2024. تاريخ الاطلاع: 13 مارس 2024 .
- ↑ "التعريفات، 3.175 بتات أذونات الملفات" . pubs.opengroup.org . 2018-07-22 . تم الاطلاع عليه بتاريخ 2023-06-24 .
- ↑ هاتش، بري (24 أبريل 2003). "التباس أذونات الملفات في لينكس، الجزء الثاني" . اختراق لينكس مكشوف . تم الاطلاع عليه في 6 يوليو 2011 .
- ↑ إبستين، برايان. "كيفية وسبب إنشاء مجموعات المستخدمين الخاصة في يونكس" . security.ias.edu . معهد الدراسات المتقدمة لأمن الشبكات. مؤرشف من الأصل في 8 أغسطس 2014. تم الاطلاع عليه في 5 أغسطس 2014 .
- ↑ "دليل مسؤول نظام Red Hat Enterprise Linux 7، 4.3.4 إنشاء أدلة المجموعات" . بوابة عملاء Red Hat . Red Hat.
روابط خارجية
- كتاب طبخ لينكس: المجموعات وكيفية العمل فيها، بقلم مايكل ستوتز، 2004
- أذونات نظام الملفات
