مستخدم Ubuntu مع الحد الأدنى من الحقوق. خادم أوبونتو - حقوق المستخدم الإدارية. إضافة مستخدم إلى مجموعة sudo

06.12.2021

لنفترض أنني مستخدم جديد أوبونتو لينكس 16.04.xx LTS. قد يكون لدي عدد من الأسئلة على الفور. كيفية إنشاء واحدة جديدة مستخدم سودوعلى الخادم الخاص بي؟ كيفية إضافة مستخدم جديد إلى ملف sudoer باستخدام المعلمة سطر الأوامرعلى أوبونتو؟

في Linux (و Unix بشكل عام) يوجد مستخدم متميز يسمى الجذر. يمكن للمستخدم الجذر أن يفعل أي شيء وكل شيء، وبالتالي فإن الاستخدام العادي للنظام يمكن أن يصبح خطيرًا للغاية. قد تقوم بإدخال الأمر بشكل غير صحيح وتدمير النظام. يسمح الأمر Sudo لمستخدم معتمد بتشغيل الأمر كمستخدم متميز (مستخدم جذر) أو مستخدم آخر كما هو محدد في سياسة الأمان. غالبًا ما يتم استخدام Sudo على الخوادم لتوفير الحقوق والامتيازات الإدارية للمستخدمين العاديين. سيوضح لك هذا البرنامج التعليمي السريع كيفية إنشاء مستخدم Sudo على Ubuntu.

بعض الخطوات التي يتعين عليك اتخاذها لإنشاء مستخدم Sudo على Ubuntu

اقرأ المزيد حول مجموعة الإدارة ومجموعة sudo على خادم Ubuntu

يمكن لأعضاء المجموعة الإدارية الحصول على امتيازات الجذر. يقوم جميع أعضاء مجموعة Sudo بتشغيل أي أمر خادم أوبونتو. لذلك فقط قم بإضافة المستخدم إلى مجموعة Sudo على خادم Ubuntu. لقد تم تقليل قدرات مجموعة الإدارة بشكل كبير منذ إصدار Ubuntu 12.04 والإصدارات الأحدث. ولذلك، لم تعد مجموعة الإدارة موجودة أو يتم استخدامها ببساطة في Ubuntu 12.04 أو أعلى. سبب عمل هذا:

# grep -B1 -i "^%sudo" /etc/sudoers

$ sudo grep -B1 -i "^%sudo" /etc/sudoers

# السماح لأعضاء المجموعة sudo بتنفيذ أي أمر %sudo ALL=(ALL:ALL) ALL

دعونا نلقي نظرة على بعض الأمثلة العملية.

كيفية إضافة مستخدم جديد اسمه vivek في sudo باستخدام سطر الأوامر؟

افتح محطة أو قم بتسجيل الدخول إلى حسابك الخادم البعيد:

$ ssh root@server-name-IP-هنا $ ssh [البريد الإلكتروني محمي](جذر@الخادم:/جذر) #

# adduser vivek

$ سودو adduser vivek

الشكل 01: كيفية إضافة مستخدم جديد على أوبونتو

أمثلة على مخرجات البيانات المحتملة:

كيفية إنشاء مستخدم sudo في Ubuntu لحساب vivek

أدخل الأمر التالي:

# adduser vivek sudo

أو استخدم الأمر usermod لإضافة مستخدم إلى مجموعة على Linux:

# usermod -aG sudo vivek

$ sudo usermod -aG sudo vivek

$ سودو adduser vivek سودو

أمثلة على مخرجات البيانات المحتملة:

الشكل 02: أضف المستخدم vivek إلى Sudo للحصول على حقوق المسؤول

تحقق من المستخدم الجديد وعضو المجموعة باستخدام:

معرف $ فيفيك

أمثلة على مخرجات البيانات المحتملة:

الشكل 03: عرض معلومات المستخدم والمجموعة

الآن يمكن للمستخدم vivek تسجيل الدخول باستخدام أمر ssh كما يلي:

$سش [البريد الإلكتروني محمي]

تأكد من أن vivek يمكنه استخدام الأمر Sudo:

$ سودو كات /etc/sudoers

في المرة الأولى التي تستخدم فيها الأمر sudo، سيُطلب منك كلمة مرور حساب vivek. لذلك، أدخل كلمة المرور vivek لتلقيها الوصول إلى الجذر. يجب تشغيل أي نوع من الأوامر باستخدام sudo بامتيازات الجذر لحساب vivek. للحصول على القشرة الجذرية، أدخل:

$ سودو-س

أمثلة على مخرجات البيانات المحتملة:

الشكل 03: اختبار وصول sudo لحساب المستخدم vivek

والآن فعلت ذلك. يمكنك الآن السماح للمستخدمين الآخرين بتشغيل Sudo على خادم Ubuntu الخاص بك ومنح المستخدمين حقوق المسؤول.

تعد إدارة المستخدم جزءًا مهمًا من الحفاظ على نظام آمن. غالبًا ما تؤدي الإدارة غير الفعالة للمستخدمين والامتيازات إلى تعرض العديد من الأنظمة للخطر. لذلك، من المهم أن تفهم كيف يمكنك حماية الخادم الخاص بك من خلال تقنيات إدارة حساب المستخدم البسيطة والفعالة.

اتخذ مطورو Ubuntu قرارًا واعيًا بتعطيل حساب الجذر الإداري افتراضيًا في جميع عمليات تثبيت Ubuntu. هذا لا يعني أنه تم حذف الحساب الجذر أو أنه لا يمكن الوصول إليه. لقد تم فقط إعطاؤه كلمة مرور لا تتطابق مع أي قيمة مشفرة محتملة، وبالتالي لا يجوز له تسجيل الدخول مباشرة من تلقاء نفسه.

بدلاً من ذلك، يتم تشجيع المستخدمين على الاستفادة من أداة باسم Sudo لتنفيذ واجبات إدارة النظام. يسمح Sudo للمستخدم المصرح له برفع امتيازاته مؤقتًا باستخدام كلمة المرور الخاصة به بدلاً من الاضطرار إلى معرفة كلمة المرور الخاصة بالحساب الجذر. توفر هذه المنهجية البسيطة والفعالة المسؤولية عن جميع إجراءات المستخدم، وتمنح المسؤول تحكمًا دقيقًا في الإجراءات التي يمكن للمستخدم تنفيذها باستخدام الامتيازات المذكورة.

    إذا كنت ترغب لسبب ما في تمكين حساب الجذر، فما عليك سوى إعطائه كلمة مرور:

    التكوينات التي تحتوي على كلمات مرور الجذر غير مدعومة.

    سودو باسود

    سيطالبك Sudo بكلمة المرور الخاصة بك، ثم يطلب منك توفير كلمة مرور جديدة للجذر كما هو موضح أدناه:

    كلمة المرور لاسم المستخدم: (أدخل كلمة المرور الخاصة بك) أدخل كلمة مرور UNIX الجديدة: (أدخل كلمة مرور جديدة للجذر)أعد كتابة كلمة مرور UNIX الجديدة: (كرر كلمة المرور الجديدة للجذر) passwd: تم تحديث كلمة المرور بنجاح

    لتعطيل كلمة مرور الحساب الجذر، استخدم بناء جملة passwd التالي:

    سودو passwd -l الجذر

    ومع ذلك، لتعطيل حساب الجذر نفسه، استخدم الأمر التالي:

    تعديل المستخدم - انتهاء الصلاحية 1

    يجب عليك قراءة المزيد عن Sudo من خلال قراءة صفحة الدليل:

    رجل سودو

افتراضيًا، المستخدم الأولي الذي تم إنشاؤه بواسطة مثبت Ubuntu هو عضو في المجموعة "sudo" التي تمت إضافتها إلى الملف /etc/sudoers كمستخدم sudo معتمد. إذا كنت ترغب في منح أي حساب آخر حق الوصول الكامل إلى الجذر من خلال sudo، فما عليك سوى إضافته إلى مجموعة sudo.

إضافة وحذف المستخدمين

تعتبر عملية إدارة المستخدمين والمجموعات المحلية واضحة ولا تختلف كثيرًا عن معظم أنظمة تشغيل GNU/Linux الأخرى. تشجع Ubuntu والتوزيعات الأخرى المستندة إلى Debian على استخدام حزمة "adduser" لإدارة الحساب.

    لإضافة حساب مستخدم، استخدم بناء الجملة التالي، واتبع المطالبات لمنح الحساب كلمة مرور وخصائص يمكن التعرف عليها، مثل الاسم الكامل ورقم الهاتف وما إلى ذلك.

    سودو adduser اسم المستخدم

    لحذف حساب مستخدم ومجموعته الأساسية، استخدم بناء الجملة التالي:

    اسم مستخدم sudo deluser

    لا يؤدي حذف الحساب إلى إزالة المجلد الرئيسي الخاص به. الأمر متروك لك فيما إذا كنت ترغب في حذف المجلد يدويًا أو الاحتفاظ به وفقًا لسياسات الاستبقاء المطلوبة أم لا.

    تذكر أن أي مستخدم تمت إضافته لاحقًا باستخدام نفس UID/GID مثل المالك السابق سيتمكن الآن من الوصول إلى هذا المجلد إذا لم تتخذ الاحتياطات اللازمة.

    قد ترغب في تغيير قيم UID/GID هذه إلى شيء أكثر ملاءمة، مثل الحساب الجذر، وربما حتى نقل المجلد لتجنب التعارضات المستقبلية:

    Sudo chown -R root:root /home/username/ سودو مكدير /الصفحة الرئيسية/archived_users/ Sudo mv /home/اسم المستخدم /home/archived_users/

    لقفل حساب مستخدم أو إلغاء قفله مؤقتًا، استخدم بناء الجملة التالي، على التوالي:

    sudo passwd -l اسم المستخدم sudo passwd -u اسم المستخدم

    لإضافة مجموعة مخصصة أو حذفها، استخدم الصيغة التالية، على التوالي:

    Sudo addgroup اسم المجموعة Sudo delgroup اسم المجموعة

    لإضافة مستخدم إلى مجموعة، استخدم بناء الجملة التالي:

    سودو adduser اسم المستخدم اسم المجموعة

أمان ملف تعريف المستخدم

عندما يتم إنشاء مستخدم جديد، تقوم الأداة المساعدة adduser بإنشاء دليل رئيسي جديد تمامًا يسمى /home/username . تم تصميم ملف التعريف الافتراضي وفقًا للمحتويات الموجودة في دليل /etc/skel، والذي يتضمن جميع أساسيات ملف التعريف.

إذا كان الخادم الخاص بك موطنًا لعدة مستخدمين، فيجب عليك الانتباه جيدًا إلى أذونات الدليل الرئيسي للمستخدم لضمان السرية. افتراضيًا، يتم إنشاء أدلة المستخدم الرئيسية في Ubuntu بأذونات القراءة/التنفيذ العالمية. وهذا يعني أنه يمكن لجميع المستخدمين تصفح محتويات الدلائل الرئيسية للمستخدمين الآخرين والوصول إليها. قد لا يكون هذا مناسبًا لبيئتك.

    للتحقق من أذونات الدليل الرئيسي للمستخدم الحالي، استخدم بناء الجملة التالي:

    ls -ld /home/username

    يوضح الإخراج التالي أن الدليل /home/username لديه أذونات قابلة للقراءة عالميًا:

    drwxr-xr-x 2 اسم المستخدم اسم المستخدم 4096 2007-10-02 20:03 اسم المستخدم

    يمكنك إزالة الأذونات العالمية القابلة للقراءة باستخدام بناء الجملة التالي:

    سودو شمود 0750 /الصفحة الرئيسية/اسم المستخدم

    يميل بعض الأشخاص إلى استخدام الخيار العودي (-R) بشكل عشوائي والذي يعدل جميع المجلدات والملفات الفرعية، ولكن هذا ليس ضروريًا، وقد يؤدي إلى نتائج أخرى غير مرغوب فيها. الدليل الأصلي وحده كافٍ لمنع الوصول غير المصرح به إلى أي شيء أسفل الدليل الأصلي.

    تتمثل الطريقة الأكثر فاعلية في التعامل مع هذه المسألة في تعديل الأذونات الافتراضية العامة لـ adduser عند إنشاء المجلدات الرئيسية للمستخدم. ما عليك سوى تحرير الملف /etc/adduser.conf وتعديل المتغير DIR_MODE إلى شيء مناسب، بحيث تحصل جميع الأدلة الرئيسية الجديدة على الأذونات الصحيحة.

    بعد تصحيح أذونات الدليل باستخدام أي من التقنيات المذكورة سابقًا، تحقق من النتائج باستخدام الصيغة التالية:

    ls -ld /home/username

    تظهر النتائج أدناه أنه تمت إزالة الأذونات القابلة للقراءة عالميًا:

    drwxr-x--- 2 اسم المستخدم اسم المستخدم 4096 2007-10-02 20:03 اسم المستخدم

سياسة كلمة المرور

تعد سياسة كلمة المرور القوية أحد أهم جوانب وضعك الأمني. تتضمن العديد من الخروقات الأمنية الناجحة هجمات القوة الغاشمة البسيطة والقاموس ضد كلمات المرور الضعيفة. إذا كنت تنوي تقديم أي شكل من أشكال الوصول عن بعد يتضمن نظام كلمة المرور المحلي الخاص بك، فتأكد من تلبية الحد الأدنى من متطلبات تعقيد كلمة المرور والحد الأقصى لعمر كلمة المرور وعمليات التدقيق المتكررة لأنظمة المصادقة الخاصة بك.

الحد الأدنى لطول كلمة المرور

افتراضيًا، يتطلب Ubuntu حدًا أدنى لطول كلمة المرور يبلغ 6 أحرف، بالإضافة إلى بعض عمليات التحقق من الإنتروبيا الأساسية. يتم التحكم في هذه القيم في الملف /etc/pam.d/common-password الموضح أدناه.

كلمة المرور pam_unix.so غامضة sha512

إذا كنت ترغب في ضبط الحد الأدنى للطول إلى 8 أحرف، قم بتغيير المتغير المناسب إلى min=8. التعديل موضح أدناه.

كلمة المرور pam_unix.so غامضة sha512 minlen=8

لا تنطبق عمليات فحص إنتروبيا كلمة المرور الأساسية وقواعد الحد الأدنى للطول على المسؤول الذي يستخدم أوامر مستوى sudo لإعداد مستخدم جديد.

انتهاء صلاحية كلمة المرور

عند إنشاء حسابات مستخدمين، يجب عليك أن تجعل من السياسة تحديد الحد الأدنى والحد الأقصى لعمر كلمة المرور لإجبار المستخدمين على تغيير كلمات المرور الخاصة بهم عند انتهاء صلاحيتها.

    لعرض الحالة الحالية لحساب المستخدم بسهولة، استخدم بناء الجملة التالي:

    sudo chage -l اسم المستخدم

    يوضح الناتج أدناه حقائق مثيرة للاهتمام حول حساب المستخدم، وهي أنه لا توجد سياسات مطبقة:

    آخر تغيير لكلمة المرور: 20 يناير 2015 تنتهي صلاحية كلمة المرور: أبدًا كلمة المرور غير نشطة: أبدًا تنتهي صلاحية الحساب: أبدًا الحد الأدنى لعدد الأيام بين تغيير كلمة المرور: 0 الحد الأقصى لعدد الأيام بين تغيير كلمة المرور: 99999 عدد أيام التحذير قبل انتهاء صلاحية كلمة المرور: 7

    لتعيين أي من هذه القيم، ما عليك سوى استخدام الصيغة التالية واتباع المطالبات التفاعلية:

    سودو تغيير اسم المستخدم

    فيما يلي أيضًا مثال على كيفية تغيير تاريخ انتهاء الصلاحية الصريح (-E) يدويًا إلى 31/01/2015، والحد الأدنى لعمر كلمة المرور (-m) 5 أيام، والحد الأقصى لعمر كلمة المرور (-M) 90 يومًا، وعدم النشاط فترة (-I) مدتها 5 أيام بعد انتهاء صلاحية كلمة المرور، وفترة زمنية تحذيرية (-W) مدتها 14 يومًا قبل انتهاء صلاحية كلمة المرور:/home/username/.ssh/authorized_keys .

    قم بإزالة أو إعادة تسمية الدليل .ssh/ في المجلد الرئيسي للمستخدم لمنع المزيد من إمكانيات مصادقة SSH.

    تأكد من التحقق من وجود أي اتصالات SSH تم إنشاؤها بواسطة المستخدم المعطل، حيث من الممكن أن يكون لديهم اتصالات واردة أو صادرة موجودة. اقتل أي شخص يتم العثور عليه.

    من | اسم مستخدم grep (للحصول على pts/# Terminal) sudo pkill -f pts/#

    قم بتقييد وصول SSH إلى حسابات المستخدمين التي يجب أن تمتلكه فقط. على سبيل المثال، يمكنك إنشاء مجموعة تسمى "sshlogin" وإضافة اسم المجموعة كقيمة مرتبطة بمتغيرAllowGroups الموجود في الملف /etc/ssh/sshd_config .

    السماح للمجموعات sshlogin

    ثم قم بإضافة مستخدمي SSH المسموح لهم إلى المجموعة "sshlogin"، وأعد تشغيل خدمة SSH.

    Sudo adduser اسم المستخدم sshlogin سودو systemctl إعادة تشغيل sshd.service

    مصادقة قاعدة بيانات المستخدم الخارجي

    تتطلب معظم شبكات المؤسسات مصادقة مركزية وعناصر تحكم في الوصول لجميع موارد النظام. إذا قمت بتكوين الخادم الخاص بك لمصادقة المستخدمين مقابل قواعد البيانات الخارجية، فتأكد من تعطيل حسابات المستخدمين خارجيًا ومحليًا. بهذه الطريقة تتأكد من عدم إمكانية المصادقة الاحتياطية المحلية.

الخيار -ج - إضافة تعليق للمستخدم
خيار -g sudo - إضافة مستخدم إلى مجموعة sudo.
سيقوم الخيار -s بتعيين غلاف المستخدم على /bin/bash

الخيار -د يستخدم لتحديد المجلد الرئيسي للمستخدم
الخيار -م سيشير إلى أنه يجب إنشاء المجلد على الفور:

Sudo useradd -c "تعليق للمستخدم" -g sudo -d /home/NameUser -m -s /bin/bash NameUser

قم بتعيين كلمة مرور لمستخدم NameUser:

سودو passwd اسم المستخدم

قم بإضافة مستخدم باستخدام الأمر adduser

sudo useradd -c "تعليق للمستخدم" -g Sudo -d /home/NameUser -m -s /bin/bash NameUser

أدخل كلمة المرور، وأجب عن جميع الأسئلة المطروحة، واحصل على كلمة مرور للمستخدم والدليل الرئيسي

تغيير كلمة مرور المستخدم

سودو passwd NameUser

أضف مستخدمًا إلى مجموعة sudo

usermod -a -G sudo NameUser

أضف مستخدم/مجموعة مستخدمين إلى Sudores مباشرة:

لنقم بتحرير الملف /etc/sodores.tmpمحرر com.visudo

سودو فيسودو

دعونا نعطي حقوق الجذر للمستخدم المسمى اسم المستخدم

اسم_المستخدم ALL=(الكل:الكل) ALL

دعونا نعطي حقوق الجذر لمجموعة من المستخدمين اسم المجموعةعن طريق إضافة خط إلى ملف sudoers -

اسم المجموعة ALL=(الكل:الكل) ALL

المستخدم ومجموعاته

نحن ننظر إلى المجموعات المتاحة على المضيف

القط /الخ/المجموعة

التحقق من وجود المجموعة com.examplegroup على المضيف حيث examplegroup هي المجموعة التي تهتم بها

مجموعة أمثلة Grep /etc/group

نحن نتحقق/نكتشف المجموعات التي ينتمي إليها المستخدم (بالإضافة إلى uid، gid الخاص به)

اسم المستخدم

أضف مستخدمًا موجودًا NameUser إلى مجموعة أمثلة موجودة

Usermod -g examplegroup NameUser

إزالة مستخدم أوبونتو

نستخدم الأمر، لن يتم حذف مجلد المستخدم

سودو userdel NameUser

احذف المجلد إذا لزم الأمر

سودو rm -r /home/NameUser/

نتحقق مما إذا كان المستخدم قد حذف أم لا؛ إذا لم يكن هناك إخراج، فقد تم حذف المستخدم

Sudo grep -R NameUser /etc/passwd --color

قائمة كافة المستخدمين المحليين

سودو كات /etc/passwd سودو كات /etc/shadow

لعرض معلومات أكثر تفصيلاً حول المستخدم، قم بتثبيت الحزمة إصبع

Sudo apt-get installإصبع

لعرض معلومات حول المستخدم NameUser، قم بتشغيل الأمر

اسم الإصبع المستخدم

لإخراج معلومات حول جميع المستخدمين إلى ملف infoaboutalluser.txtلنقم بإنشاء برنامج نصي الاصبع.sh

#!/bin/bash n=`cat /etc/passwd | قطع -d: -f1` لـ i في $n؛ اعمل صدى " ============================================================ ============================== =================

لنقم بتشغيل البرنامج النصي الاصبع.shوحفظ محتوياته في ملف infoaboutalluser.txt

./finger.sh infoaboutalluser.txt

قائمة بجميع المستخدمين المميزين:

egrep ":0:0:" /etc/passwd

أو غير متميز

Egrep -v ":0:0:" /etc/passwd

قم بإدراج جميع المستخدمين الذين تبدأ أسماؤهم بالحروف abcd:

القط /الخ/passwd | جريب "^.*"

في غرفة العمليات نظام لينكسهناك العديد من ميزات الأمان الرائعة، ولكن أحد أهمها هو نظام أذونات الملفات. Linux، باعتباره أحد أتباع أيديولوجية Linux kernel، على عكس Windows، تم تصميمه في الأصل كنظام متعدد المستخدمين، لذلك تم التفكير جيدًا في حقوق الوصول إلى الملفات في Linux.

وهذا مهم للغاية، لأن الوصول المحلي إلى الملفات لجميع البرامج وجميع المستخدمين سيسمح للفيروسات بتدمير النظام بسهولة. لكن قد يجد المستخدمون الجدد أذونات الملفات الجديدة في Linux مربكة للغاية، وهي مختلفة تمامًا عما اعتدنا على رؤيته في Windows. سنحاول في هذه المقالة فهم كيفية عمل أذونات الملفات في نظام Linux، بالإضافة إلى كيفية تغييرها وتعيينها.

في البداية، كان لكل ملف ثلاث معلمات وصول. وهنا هم:

  • قراءة- يسمح لك باستقبال محتويات الملف، لكنه لا يسمح بالكتابة. بالنسبة للدليل، يسمح لك بالحصول على قائمة بالملفات والأدلة الموجودة فيه؛
  • سِجِلّ- يسمح لك بكتابة بيانات جديدة في ملف أو تغيير البيانات الموجودة، كما يسمح لك بإنشاء الملفات والأدلة وتغييرها؛
  • تنفيذ- لا يمكنك تنفيذ برنامج إذا لم يكن لديه علامة تنفيذ. يتم تعيين هذه السمة لجميع البرامج والبرامج النصية؛ وبمساعدتها يمكن للنظام أن يفهم أن هذا الملف يحتاج إلى التشغيل كبرنامج.

لكن كل هذه الحقوق لن يكون لها معنى إذا تم تطبيقها على جميع المستخدمين في وقت واحد. لذلك، يحتوي كل ملف على ثلاث فئات مستخدم يمكنك تعيين مجموعات مختلفة من حقوق الوصول لها:

  • مالك- مجموعة الحقوق لمالك الملف، المستخدم الذي قام بإنشائه أو الذي تم تعيينه حاليًا بواسطة مالكه. عادةً ما يتمتع المالك بجميع الحقوق، القراءة والكتابة والتنفيذ.
  • مجموعة- أي مجموعة مستخدمين موجودة في النظام ومرتبطة بملف ما. ولكن يمكن أن تكون هذه مجموعة واحدة فقط وعادةً ما تكون مجموعة المالك، على الرغم من إمكانية تعيين مجموعة أخرى للملف.
  • استراحة- جميع المستخدمين باستثناء المالك والمستخدمين المدرجين في مجموعة الملفات.

وبمساعدة مجموعات الأذونات هذه، يتم تعيين أذونات الملفات في Linux. يمكن لكل مستخدم فقط الحصول على حق الوصول الكامل إلى الملفات التي يمتلكها أو المصرح له بالوصول إليها. يمكن للمستخدم الجذر فقط العمل مع جميع الملفات، بغض النظر عن مجموعة الأذونات الخاصة به.

ولكن مع مرور الوقت، أصبح هذا النظام غير كاف وتمت إضافة العديد من العلامات التي تسمح لك بجعل الملفات غير قابلة للتغيير أو تنفيذها كمستخدم متميز، وسننظر إليها أدناه:

أذونات الملفات الخاصة في Linux

من أجل السماح للمستخدمين العاديين بتنفيذ البرامج نيابة عن المستخدم المتميز دون معرفة كلمة المرور الخاصة به، تم اختراع شيء مثل SUID وSGID bits. دعونا نلقي نظرة فاحصة على هذه القوى.

  • سويد- إذا تم تعيين هذا البت، فعند تنفيذ البرنامج، يتم استبدال معرف المستخدم الذي تم تشغيله منه بمعرف مالك الملف. في الواقع، يسمح هذا للمستخدمين العاديين بتشغيل البرامج كمستخدمين متميزين؛
  • SGID- تعمل هذه العلامة بطريقة مشابهة، والفرق الوحيد هو أن المستخدم يعتبر عضوًا في المجموعة التي يرتبط بها الملف، وليس المجموعات التي ينتمي إليها بالفعل. إذا تم تعيين علامة SGID على دليل، فسيتم ربط جميع الملفات التي تم إنشاؤها فيه بمجموعة الدليل، وليس بمجموعة المستخدم. يستخدم هذا السلوك للتنظيم المجلدات المشتركة;
  • لزجة قليلا- يُستخدم هذا الجزء أيضًا لإنشاء مجلدات مشتركة. إذا تم تثبيته، فيمكن للمستخدمين فقط إنشاء الملفات وقراءتها وتنفيذها، ولكن لا يمكنهم حذف الملفات المملوكة لمستخدمين آخرين.

الآن دعونا نلقي نظرة على كيفية عرض وتغيير أذونات الملفات في Linux.

كيفية عرض أذونات الملفات في لينكس

بالطبع يمكنك البحث عن أذونات الملفات في Linux باستخدام مدير الملفات. جميعهم يدعمون هذه الميزة، لكن هذا سيعطيك معلومات غير كاملة. للحد الأقصى معلومات مفصلةبالنسبة لجميع الأعلام، بما في ذلك الأعلام الخاصة، تحتاج إلى استخدام الأمر ls مع المعلمة -l. سيتم سرد كافة الملفات الموجودة في الدليل وسيتم عرض جميع السمات والبتات هناك.

لمعرفة الحقوق ملف لينكسقم بتشغيل الأمر التالي في المجلد الذي يوجد به هذا الملف:

الشرطات هي المسؤولة عن أذونات الملفات في Linux. الأول هو نوع الملف، والذي تمت مناقشته في مقالة منفصلة. ثم هناك مجموعات من الحقوق، أولاً للمالك، وللمجموعة وللجميع. لا يوجد سوى تسع شرطات للترخيص وواحدة للنوع.

دعونا نلقي نظرة فاحصة على ما تعنيه القيم الشرطية لعلامات الحقوق:

  • --- - لا حقوق على الإطلاق؛
  • --x- يُسمح فقط بتنفيذ الملف كبرنامج، ولكن لا يُسمح بتغييره أو قراءته؛
  • -ث-- يُسمح فقط بكتابة الملف وتغييره؛
  • -wx- يُسمح بالتعديل والتنفيذ، لكن في حالة الدليل، لا يمكنك عرض محتوياته؛
  • ص--- حقوق القراءة فقط؛
  • ص-س- القراءة والتنفيذ فقط، لا يوجد إذن الكتابة؛
  • rw-- حقوق القراءة والكتابة، ولكن دون التنفيذ؛
  • rwx- جميع الحقوق؛
  • --s- يتم تعيين بت SUID أو SGID، ويتم عرض الأول في الحقل للمالك، والثاني للمجموعة؛
  • --ر- تم تثبيت Sticky-bit، مما يعني أنه لا يمكن للمستخدمين حذف هذا الملف.

في مثالنا، يحتوي الملف test1 على أذونات برنامج نموذجية، ويمكن للمالك القيام بكل شيء، ويمكن للمجموعة القراءة والتنفيذ فقط، ويمكن لأي شخص آخر التنفيذ فقط. بالنسبة للاختبار 2، يتم أيضًا تعيين علامتي SUID وSGID. وبالنسبة للمجلد test3 تم تثبيت Sticky-bit. ملف test4 متاح للجميع. الآن أنت تعرف كيفية عرض حقوق ملف Linux.

كيفية تغيير أذونات الملفات في لينكس

لتغيير أذونات الملفات في Linux، يمكنك استخدام الأداة المساعدة chmod. يسمح لك بتغيير جميع الأعلام، بما في ذلك الأعلام الخاصة. دعونا نلقي نظرة على بناء الجملة:

ملف علامة الإجراء الخاص بفئة خيارات chmod $

الخيارات لن تهمنا الآن، ربما باستثناء خيار واحد فقط. باستخدام الخيار -R يمكنك إجبار البرنامج على تطبيق التغييرات على كافة الملفات والأدلة بشكل متكرر.

  • ش- مالك الملف؛
  • ز- مجموعة الملفات؛
  • س- مستخدمين آخرين.

يمكن أن يكون الإجراء أحد أمرين، إما إضافة العلامة "+"، أو إزالة العلامة "-". أما بالنسبة لحقوق الوصول نفسها، فهي تشبه مخرجات الأداة المساعدة ls: r - read، w - write، x - Execute، s - suid/sgid، اعتمادًا على الفئة التي قمت بتعيينها لها، t - setsticky -قليل. على سبيل المثال، يتمتع كافة المستخدمين بحق الوصول الكامل إلى الملف test5:

اختبار chmod ugo+rwx5

أو سنأخذ جميع الحقوق من المجموعة والمستخدمين الآخرين:

اختبار chmod go-rwx5

لنعطي المجموعة الحق في القراءة والتنفيذ:

اختبار chmod g+rx5

للمستخدمين الآخرين قراءة فقط:

بالنسبة لملف test6، قم بتعيين SUID:

وبالنسبة للاختبار 7 - SGID:

دعونا نرى ما حدث:

كما ترون، فإن تغيير أذونات الملفات في Linux أمر بسيط للغاية. بالإضافة إلى ذلك، يمكنك تغيير الحقوق الأساسية باستخدام مدير الملفات.

الاستنتاجات

هذا كل شيء، الآن أنت لا تعرف فقط ما هي أذونات الملفات في Linux، ولكن أيضًا كيفية عرضها، وحتى كيفية تغييرها. هذا موضوع مهم للغاية يحتاج المبتدئين إلى فهمه من أجل استخدام نظامهم بشكل كامل. إذا كان لديك أي أسئلة، اسأل في التعليقات!

في الختام، أود أن أقدم مقطع فيديو جيدًا حول حقوق الوصول في Linux:

وبما أن نظام Linux نظام متعدد المستخدمين، فإن مسألة تنظيم التحكم في الوصول إلى الملفات والأدلة هي إحدى المشكلات المهمة التي يجب حلها نظام التشغيل. آليات التحكم في الوصول مصممة ل أنظمة يونيكسفي السبعينيات (ربما اقترحها شخص ما سابقًا) بسيطة جدًا، لكن تبين أنها فعالة جدًا لدرجة أنها كانت موجودة منذ أكثر من 30 عامًا وحتى يومنا هذا تفي بمهامها بنجاح.

تعتمد آليات التحكم في الوصول على أسماء المستخدمين وأسماء مجموعات المستخدمين. أنت تعلم بالفعل أنه في Linux، يكون لكل مستخدم اسم فريد يقوم من خلاله بتسجيل الدخول إلى النظام (تسجيل الدخول). بالإضافة إلى ذلك، يتم إنشاء عدد من مجموعات المستخدمين في النظام، ويمكن ضم كل مستخدم إلى مجموعة واحدة أو أكثر. يقوم المستخدم المتميز بإنشاء وحذف المجموعات، ويمكنه أيضًا تغيير تكوين أعضاء مجموعة معينة. قد يتمتع أعضاء المجموعات المختلفة بحقوق مختلفة للوصول إلى الملفات؛ على سبيل المثال، قد تتمتع مجموعة المسؤولين بحقوق أكثر من مجموعة المبرمجين.

يحتوي inode كل ملف على اسم مالك الملف والمجموعة التي لها حقوق هذا الملف. في البداية، عند إنشاء ملف، يتم الإعلان عن أن مالكه هو المستخدم الذي قام بإنشاء الملف. بتعبير أدق، المستخدم الذي يتم إطلاق عملية إنشاء الملف نيابة عنه. يتم تعيين المجموعة أيضًا عند إنشاء ملف - وفقًا لمعرف المجموعة الخاص بعملية إنشاء الملف. يمكن تغيير مالك ومجموعه الملف أثناء مزيد من العملباستخدام الأوامر chownو chgrp(سيتم الحديث عنهم بعد قليل).

الآن لنقم بتشغيل الأمر مرة أخرى ليرة سورية -ل. ولكن دعونا نعطيها اسمًا كمعلمة إضافية ملف محددعلى سبيل المثال، الملف الذي يحدد الأمر نفسه ليرة سورية. (بالمناسبة، لاحظ خيار الأمر هذا ليرة سورية -ل- الحصول على معلومات حول ملف معين، وليس حول جميع الملفات الموجودة في الدليل مرة واحدة).

$ ليرة سورية -l /bin/ls

ترى ذلك في في هذه الحالةمالك الملف هو المستخدم الجذر والمجموعة الجذرية. لكن الآن في مخرجات هذا الأمر نحن مهتمون أكثر بالحقل الأول، الذي يحدد نوع الملف وحقوق الوصول إلى الملف. يتم تمثيل هذا الحقل في المثال أعلاه بسلسلة من الأحرف -rwxr-xr-x. يمكن تقسيم هذه الرموز إلى 4 مجموعات.

تحدد المجموعة الأولى، المكونة من حرف واحد، نوع الملف. هذا الرمز، وفقًا لأنواع الملفات المحتملة التي تمت مناقشتها في القسم السابق، يمكن أن يأخذ القيم التالية:

    - = - ملف عادي؛

    د =- كتالوج.

    ب =— حظر ملف الجهاز.

    ج =- ملف جهاز الأحرف؛

    ق =- مقبس المجال؛

    ع =- الأنبوب المسمى (الأنبوب) ؛

    ل =— رابط رمزي (رابط).

بعد ذلك، اتبع ثلاث مجموعات مكونة من ثلاثة أحرف، والتي تحدد حقوق الوصول إلى الملف، على التوالي، لمالك الملف، ولمجموعة المستخدمين المرتبطة به هذا الملفولجميع مستخدمي النظام الآخرين. في مثالنا، تم تعريف أذونات المالك على أنها rwx، مما يعني أن المالك ( جذر) له الحق في قراءة ملف (r) والكتابة في هذا الملف (w) وتشغيل الملف للتنفيذ (x). إن استبدال أي من هذه الأحرف بشرطة يعني حرمان المستخدم من الحق المقابل. في نفس المثال، نرى أن جميع المستخدمين الآخرين (بما في ذلك أولئك الذين تم تضمينهم في المجموعة جذر) محرومون من حق الكتابة في هذا الملف، أي أنهم لا يستطيعون تحرير الملف أو تغييره بأي شكل من الأشكال.

بشكل عام، يتم تخزين حقوق الوصول ومعلومات نوع الملف على أنظمة UNIX في inodes في بنية منفصلة تتكون من بايتين، أي 16 بت (وهذا أمر طبيعي، لأن الكمبيوتر يعمل على البتات، وليس الأحرف r، w، x). أربعة من هذه البتات الستة عشر محجوزة لسجل نوع الملف المشفر. تحدد البتات الثلاثة التالية خصائص خاصة الملفات القابلة للتنفيذ، والتي سنتحدث عنها بعد قليل. وأخيرًا، تحدد البتات التسعة المتبقية أذونات الملف. يتم تقسيم هذه البتات التسعة إلى ثلاث مجموعات من ثلاث بتات. تحدد البتات الثلاثة الأولى حقوق المستخدم، وتحدد البتات الثلاثة التالية حقوق المجموعة، وتحدد البتات الثلاثة الأخيرة حقوق جميع المستخدمين الآخرين (أي جميع المستخدمين باستثناء مالك الملف ومجموعة الملفات).

في هذه الحالة، إذا كانت قيمة البت المقابل 1، فسيتم منح الحق، وإذا كانت تساوي 0، فلا يتم منح الحق. في الشكل الرمزي لتدوين الحقوق، يتم استبدال 1 بالرمز المقابل (r أو w أو x)، ويتم تمثيل 0 بشرطة.

إذن قراءة الملف (r) يعني أنه يمكن للمستخدم عرض محتويات الملف باستخدام أوامر عرض متنوعة، مثل الأمر أكثرأو باستخدام أي محرر نصوص. ولكن بعد تعديل محتويات الملف محرر النصوص، فلن تتمكن من حفظ التغييرات على ملف على القرص إلا إذا كان لديك إذن الكتابة (w) لهذا الملف. إذن التنفيذ (x) يعني أنه يمكنك تحميل ملف إلى الذاكرة ومحاولة تشغيله كبرنامج قابل للتنفيذ. بالطبع، إذا لم يكن الملف في الواقع برنامجًا (أو برنامج نصي شل)، فلن يكون من الممكن تشغيل هذا الملف للتنفيذ، ولكن من ناحية أخرى، حتى لو كان الملف برنامجًا بالفعل، ولكن لم يتم تعيين التنفيذ الصحيح لأنه لن يبدأ أيضًا.

لذلك اكتشفنا الملفات القابلة للتنفيذ في Linux! كما ترون، فإن امتداد اسم الملف لا علاقة له به، ويتم تحديد كل شيء عن طريق تعيين السمة "القابل للتنفيذ"، وقد لا يتم منح الجميع حق التنفيذ!

إذا قمت بتشغيل نفس الأمر ليرة سورية -ل، ولكن كوسيطة أخيرة، يجب ألا يُعطى اسم الملف، بل اسم الدليل، وسنرى أن حقوق الوصول محددة أيضًا للأدلة، ويتم تحديدها بنفس رموز rwx. على سبيل المثال، عن طريق تشغيل الأمر ليرة سورية -ل /, سنرى أن دليل bin يتوافق مع السطر:

بطبيعة الحال، فيما يتعلق بالأدلة، يتغير تفسير المفاهيم "اقرأ بشكل صحيح" و"اكتب بشكل صحيح" و"نفذ بشكل صحيح" إلى حد ما. من السهل فهم إذن القراءة فيما يتعلق بالأدلة إذا كنت تتذكر أن الدليل هو مجرد ملف يحتوي على قائمة من الملفات في دليل معين. لذلك، إذا كان لديك إذن قراءة في دليل ما، فيمكنك عرض محتوياته (قائمة الملفات الموجودة في الدليل هذه). حق الكتابة واضح أيضًا - بامتلاكك هذا الحق، ستتمكن من إنشاء ملفات في هذا الدليل وحذفها، أي ما عليك سوى إضافة إدخال يحتوي على اسم الملف والروابط المقابلة إليه أو حذفه منه. حق التنفيذ أقل بديهية. وفي هذه الحالة، فهذا يعني الحق في الانتقال إلى هذا الدليل. إذا كنت تريد، بصفتك المالك، منح مستخدمين آخرين حق الوصول لعرض ملف في الدليل الخاص بك، فيجب عليك منحهم الإذن للوصول إلى الدليل، أي منحهم "إذن تنفيذ الدليل". علاوة على ذلك، يجب عليك منح المستخدم الحق في تنفيذ كافة الأدلة الموجودة في الشجرة أعلى هذا الدليل. لذلك، من حيث المبدأ، تتمتع جميع الأدلة بأذونات التنفيذ الافتراضية المحددة للمالك والمجموعة، وكذلك لجميع المستخدمين الآخرين. وإذا كنت تريد منع الوصول إلى الدليل، فاحرم جميع المستخدمين (بما في ذلك المجموعة) من حق الدخول إلى هذا الدليل. فقط لا تحرم نفسك من هذا الحق، وإلا فسيتعين عليك اللجوء إلى المستخدم المتميز! (ملاحظة 11)

بعد قراءة الفقرة السابقة، قد يبدو أن دليل القراءة الصحيحة لا يقدم أي شيء جديد مقارنة بحق التنفيذ. ومع ذلك، لا يزال هناك اختلاف في هذه الحقوق. إذا قمت بتعيين التنفيذ الصحيح فقط، فستتمكن من الدخول إلى الدليل، ولكن لن ترى ملفًا واحدًا هناك (يكون هذا التأثير واضحًا بشكل خاص إذا كنت تستخدم نوعًا ما من مدير الملفات، على سبيل المثال، البرنامج قائد منتصف الليل). إذا كان لديك حقوق الوصول إلى أي من الدلائل الفرعية لهذا الدليل، فيمكنك الانتقال إليه (باستخدام الأمر قرص مضغوط)، ولكن، كما يقولون، "عمياء"، من الذاكرة، لأنك لن ترى قائمة الملفات والأدلة الفرعية للدليل الحالي.

يمكن وصف خوارزمية التحقق من حقوق المستخدم عند الوصول إلى ملف على النحو التالي. يتحقق النظام أولاً مما إذا كان اسم المستخدم يطابق اسم مالك الملف. إذا كانت هذه الأسماء متطابقة (أي أن المالك يصل إلى ملفه)، فسيتم التحقق مما إذا كان المالك لديه حق الوصول المناسب: القراءة أو الكتابة أو التنفيذ (لا تتفاجأ، يمكن للمستخدم المتميز حرمان مالك الملف من بعض حقوق). إذا كان هذا الحق موجودًا، فسيتم السماح بالعملية المقابلة. لو القانون الصحيحلا يملك المالك، ثم لم يعد يتم فحص التحقق من الحقوق الممنوحة من خلال المجموعة أو من خلال مجموعة سمات الوصول للمستخدمين الآخرين، ويتم إعطاء المستخدم رسالة حول استحالة تنفيذ الإجراء المطلوب (عادة شيء من هذا القبيل "تم رفض الإذن").

إذا كان اسم المستخدم الذي يصل إلى الملف لا يتطابق مع اسم المالك، فسيقوم النظام بالتحقق مما إذا كان المالك ينتمي إلى المجموعة المرتبطة بهذا الملف (فيما يلي سنسميها ببساطة مجموعة الملف). إذا كانت مملوكة، يتم استخدام السمات الخاصة بالمجموعة لتحديد ما إذا كان يمكن الوصول إلى الملف أم لا، ويتم تجاهل السمات الخاصة بالمالك وجميع المستخدمين الآخرين. إذا لم يكن المستخدم هو مالك الملف وليس عضوًا في مجموعة الملف، فسيتم تحديد حقوقه من خلال السمات الخاصة بالمستخدمين الآخرين. وبالتالي، فإن المجموعة الثالثة من السمات التي تحدد حقوق الوصول إلى الملف تنطبق على جميع المستخدمين باستثناء مالك الملف والمستخدمين الذين ينتمون إلى مجموعة الملفات.

لتغيير أذونات الملف، استخدم الأمر chmod. يمكن استخدامه بطريقتين. في الخيار الأول، يجب أن تشير بوضوح إلى من تعطي أي حق أو من تحرمه من هذا الحق:

اسم ملف $ chmod wXp

حيث بدلا من الرمز ثاستبدال

    أو رمز ش(أي المستخدم الذي هو المالك)؛

    أو ز(مجموعة)؛

    أو س(جميع المستخدمين الذين ليسوا أعضاء في المجموعة التي ينتمي إليها هذا الملف)؛

    أو أ(جميع مستخدمي النظام أي المالك والمجموعة والجميع).

بدلاً من Xيضع:

    أو + (نعطي الحق)؛

    أو - (نحرم الحق المقابل)؛

    أو = (قم بتثبيت الحقوق المحددة بدلاً من الحقوق الموجودة)،

بدلاً من ص- رمز يشير إلى الحق المقابل:

    ص(قراءة)؛

    ث(سِجِلّ)؛

    س(تنفيذ).

فيما يلي بعض الأمثلة على استخدام الأمر chmod:

$ chmod a+x file_name

يمنح جميع مستخدمي النظام الحق في تنفيذ هذا الملف.

$ chmod go-rw file_name

يزيل إذن القراءة والكتابة للجميع باستثناء مالك الملف.

$ chmod ugo+rwx file_name

يمنح الجميع أذونات القراءة والكتابة والتنفيذ.

وإذا أغفلنا الإشارة إلى من يمنح هذا الحق، فمن المفهوم أننا نتحدث عن جميع المستخدمين بشكل عام، أي بدلاً من $ chmod a+x file_name

يمكن كتابتها ببساطة

$ chmod +x file_name

الخيار الثاني لتحديد الأمر chmod(يتم استخدامه في كثير من الأحيان) يعتمد على التمثيل الرقمي للحقوق. للقيام بذلك، نقوم بتشفير الحرف r بالرقم 4، والحرف w بالرقم 2، والحرف x بالرقم 1. ومن أجل تزويد المستخدمين بمجموعة معينة من الحقوق، نحتاج إلى إضافة الأرقام المقابلة . وبعد أن حصلنا على القيم الرقمية اللازمة لمالك الملف ولمجموعة الملفات ولجميع المستخدمين الآخرين، قمنا بتعيين هذه الأرقام الثلاثة كوسيطة للأمر chmod(نضع هذه الأرقام بعد اسم الأمر قبل الوسيطة الثانية التي تحدد اسم الملف). على سبيل المثال، إذا كنت بحاجة إلى إعطاء جميع الحقوق للمالك (4+2+1=7)، وحقوق القراءة والكتابة للمجموعة (4+2=6)، وعدم إعطاء أي حقوق للآخرين، فيجب عليك إعطاء الأمر التالي:

$ شمود 760 file_name

إذا كنت معتادًا على التشفير الثنائي للأرقام الثماني، فسوف تفهم أن الأرقام الموجودة بعد اسم الأمر في هذا الشكل من تمثيلها ليست أكثر من تمثيل ثماني للبتات التسعة نفسها التي تحدد حقوق مالك الملف، مجموعة الملفات، ولجميع المستخدمين.

تغيير أذونات الملف باستخدام الأمر chmodيمكن لمالك الملف أو المستخدم المتميز فقط القيام بذلك. لكي تتمكن من تغيير حقوق المجموعة، يجب أن يكون المالك أيضًا عضوًا في المجموعة التي يريد منح حقوق هذا الملف إليها.

لإكمال قصة حقوق الوصول إلى الملفات، نحتاج إلى التحدث عن ثلاث سمات ملف محتملة أخرى يمكن تعيينها باستخدام نفس الأمر chmod. هذه هي نفس السمات للملفات القابلة للتنفيذ التي تشغل المواضع 5-7 في inode الملف في البنية ثنائية البايت التي تحدد حقوق الملف، مباشرة بعد رمز نوع الملف.

أول هذه السمات هو ما يسمى "بت تغيير معرف المستخدم". معنى هذا الشيء هو كما يلي.

عادةً، عندما يقوم المستخدم بتشغيل برنامج، يتلقى هذا البرنامج نفس حقوق الوصول إلى الملفات والدلائل التي يتمتع بها المستخدم الذي قام بتشغيل البرنامج. إذا تم تعيين "تغيير بت معرف المستخدم"، فسيحصل البرنامج على حقوق الوصول إلى الملفات والأدلة التي يمتلكها مالك ملف البرنامج (وبالتالي، من الأفضل تسمية السمة المعنية "بت تغيير معرف المالك"). يتيح لك هذا حل بعض المهام التي قد يكون من الصعب إكمالها. المثال الأكثر شيوعًا هو أمر تغيير كلمة المرور passwd. يتم تخزين جميع كلمات مرور المستخدم في الملف /etc/passwd المملوك للمستخدم المتميز جذر. ولذلك، فإن البرامج التي يطلقها المستخدمون العاديون، بما في ذلك الأمر passwd، لا يمكن الكتابة في هذا الملف. وهذا يعني أنه لا يمكن للمستخدم تغيير كلمة المرور الخاصة به. لكن الملف /usr/bin/passwd يحتوي على مجموعة "تغيير معرف المالك"، وهي المستخدم جذر. ولذلك، برنامج تغيير كلمة المرور passwdيعمل مع الحقوق جذرويحصل على الحق في الكتابة إلى الملف /etc/passwd (البرنامج نفسه يضمن أنه يمكن للمستخدم تغيير سطر واحد فقط في هذا الملف).

يمكن تعيين "بت معرف المالك التغيير" بواسطة المستخدم المتميز باستخدام الأمر

# chmod +s file_name

تعمل "بت تغيير معرف المجموعة" بطريقة مشابهة.

السمة الأخرى المحتملة للملف القابل للتنفيذ هي "بت حفظ المهمة" أو "البت اللاصق". يخبر هذا البت النظام بحفظه في ذاكرة الوصول العشوائي (RAM) بعد اكتمال البرنامج. من الملائم تمكين هذا الشيء للمهام التي غالبًا ما يتم استدعاؤها للتنفيذ، لأنه في هذه الحالة يوفر الوقت عند تحميل البرنامج في كل مرة يتم تشغيله. كانت هذه السمة مطلوبة في نماذج الكمبيوتر القديمة. ونادرا ما يستخدم في الأنظمة الحديثة عالية السرعة.

إذا تم استخدام الخيار الرقمي لتحديد السمات في الأمر chmod، فإن القيمة الرقمية لهذه السمات يجب أن تسبق الأرقام التي تحدد حقوق المستخدم:

# شمود 4775 file_name

وفي هذه الحالة يتم تحديد أوزان هذه البتات للحصول على النتيجة الإجمالية المطلوبة كما يلي:

    4 - "بت تغيير معرف المستخدم"،

    2 - "بت تغيير معرف المجموعة"،

    1 - "بت حفظ المهمة (البت اللاصق)".

إذا تم تعيين أي من هذه البتات الثلاثة على 1، يتغير مخرج الأمر قليلاً ليرة سورية -لمن حيث عرض سمات حقوق الوصول المثبتة. إذا تم تعيين "بت تغيير معرف المستخدم" على 1، فسيتم استبدال الحرف "x" في المجموعة التي تحدد حقوق مالك الملف بالحرف "s". علاوة على ذلك، إذا كان للمالك الحق في تنفيذ الملف، فسيتم استبدال الرمز "x" بحرف "s" صغير، وإذا لم يكن للمالك الحق في تنفيذ الملف (على سبيل المثال، الملف غير قابل للتنفيذ) على الإطلاق)، فيتم وضع "S" بدلاً من "x". تحدث عمليات استبدال مماثلة عند تحديد "بت تغيير معرف المجموعة"، ولكن يتم استبدال الحرف "x" في مجموعة السمات التي تحدد حقوق المجموعة. إذا كانت "بت المهمة الثابتة" هي 1، فسيتم استبدال الحرف "x" في مجموعة السمات التي تحدد الحقوق لجميع المستخدمين الآخرين، ويتم استبدال "x" بالحرف "t" إذا تمكن جميع المستخدمين من تشغيل الملف وبالرمز "ت" إذا لم يكن لهم هذا الحق.

لذلك، على الرغم من إخراج الأمر ليرة سورية -للا توجد مواضع منفصلة لعرض قيم بتات تغيير المعرف ويتم عرض المعلومات المقابلة للمهمة. فيما يلي مثال صغير لما سيبدو عليه:

# ليرة سورية -l prim1

V. Kostromin (كوس في rus-linux dot net) - 4.5. أذونات الملفات والدليل