يفتح
يغلق

Linux في المجموعة التي ينتمي إليها المستخدم. كيفية إضافة مستخدم إلى مجموعة (أو مجموعة ثانوية) في Linux. إدارة مجموعة لينكس

ترجمة: أساسيات لينكس
المؤلف: بول كوبوت
تاريخ النشر: 16 أكتوبر 2014
ترجمة: أ. بانين
تاريخ الترجمة: 23 ديسمبر 2014

الفصل 29. مجموعات المستخدمين

يمكن دمج حسابات مستخدمي النظام ضمن مجموعات. يتيح لك مفهوم مجموعات المستخدمين تعيين حقوق الوصول على مستوى مجموعة المستخدمين بدلاً من تعيين نفس حقوق الوصول لكل مستخدم على حدة.

تحتوي كل توزيعة Unix أو Linux على أداة واجهة المستخدم الرسومية لإدارة مجموعات المستخدمين. يُنصح المستخدمون الذين ليس لديهم خبرة في هذه الأنظمة باستخدام هذه الأدوات. يمكن للمستخدمين الأكثر خبرة استخدام أدوات سطر الأوامر لإدارة حسابات المستخدمين، ولكن كن حذرًا: لا تسمح لك بعض التوزيعات باستخدام أدوات إدارة مجموعة مستخدمي واجهة المستخدم الرسومية وسطر الأوامر (مثال على ذلك أداة YaST من Novell). يمكن لمسؤولي النظام ذوي الخبرة تحرير الملفات المقابلة مباشرةً باستخدام محرر النصوص vi أو الأداة المساعدة vigr.

فائدة إضافة المجموعة

يمكن إنشاء مجموعات المستخدمين باستخدام الأداة المساعدة groupadd. يوضح المثال أدناه كيفية إنشاء خمس مجموعات (دون إضافة مستخدمين إليها). root@laika:~# groupadd Tennis root@laika:~# groupadd Football root@laika:~# groupadd snooker root@laika:~# groupadd Formula1 root@laika:~# groupadd salsa

ملف المجموعة

يمكن للمستخدمين الانتماء إلى عدة مجموعات. يتم تعريف عضوية مجموعة المستخدمين في الملف /etc/group. root@laika:~# tail -5 /etc/group Tennis:x:1006: كرة قدم:x:1007: سنوكر:x:1008: Formula1:x:1009: صلصة:x:1010: root@laika:~#

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

أمر المجموعات

يمكن للمستخدم تشغيل أمر المجموعات لعرض قائمة المجموعات التي ينتمي إليها. $ مجموعات هاري سبورتس $

الأداة المساعدة usermod

يمكن تغيير عضوية مجموعة المستخدم باستخدام الأداة المساعدة useradd أو usermod. root@laika:~# usermod -a -G Tennis inge root@laika:~# usermod -a -G Tennis katrien root@laika:~# usermod -a -G salsa katrien root@laika:~# usermod -a -G السنوكر ساندرا root@laika:~# usermod -a -G Formula1 Annelies root@laika:~# tail -5 /etc/group Tennis:x:1006:inge,katrien Football:x:1007: snooker:x:1008:sandra الصيغة 1:x:1009:أنيليس سالسا:x:1010:كاترين روت@لايكا:~#

كن حذرًا عند استخدام الأداة المساعدة usermod لإضافة مستخدمين إلى المجموعات. افتراضيًا، ستقوم الأداة المساعدة usermod بإزالة المستخدم من جميع المجموعات التي كان عضوًا فيها إذا لم يتم تمرير أسماء هذه المجموعات كجزء من الأمر! يؤدي استخدام الخيار -a (إلحاق) إلى تجنب هذا السلوك.

الأداة المساعدة groupmod

يمكنك تغيير اسم مجموعة المستخدمين باستخدام الأداة المساعدة groupmod. root@laika:~# groupmod -n darts snooker root@laika:~# tail -5 /etc/group Tennis:x:1006:inge,katrien Football:x:1007: Formula1:x:1009:annelies salsa:x: 1010:سهام كاترين:x:1008:ساندرا

فائدة Groupdel

يمكنك حذف مجموعة مستخدمين نهائيًا باستخدام الأداة المساعدة groupdel. root@laika:~# Groupdel Tennis Root@laika:~#

الأداة المساعدة gpasswd

يمكنك أيضًا تفويض التحكم في عضوية مجموعة مستخدمين معينة إلى مستخدم آخر باستخدام الأداة المساعدة gpasswd. في المثال أدناه، قمنا بتفويض حقوق إضافة وإزالة المستخدمين إلى المجموعة الرياضية إلى سيرينا. نستخدم بعد ذلك الأمر su لإضافة المستخدم harry إلى المجموعة الرياضية نيابة عن المستخدم serena. # gpasswd -A serena sports # su - serena $ id harry uid=516(harry) gid=520(harry) المجموعات=520(harry) $ gpasswd -a harry sports إضافة المستخدم harry إلى المجموعة الرياضية $ id harry uid=516 ( harry) gid=520(harry) Groups=520(harry),522(sports) $ tail -1 /etc/group sports:x:522:serena,venus,harry $

لا يُطلب من مسؤولي مجموعة المستخدمين أن يكونوا أعضاء في هذه المجموعات. يمكنهم إزالة حساباتهم من مجموعات المستخدمين التي يديرونها ولن يؤثر ذلك على قدرتهم على إضافة مستخدمين أو إزالتهم من تلك المجموعات. $ gpasswd -d serena sports قم بإزالة المستخدم serena من المجموعة الرياضية $ خروج

يتم تخزين المعلومات المتعلقة بمسؤولي مجموعة المستخدمين في الملف /etc/gshadow. # ذيل -1 /etc/gshadow sports:!:serena:venus,harry #

لإزالة كافة حسابات المسؤولين من مجموعة مستخدمين، استخدم الأداة المساعدة gpasswd مع خيارات لتحديد قائمة فارغة للمسؤولين. # gpasswd -A "" رياضة

الأداة المساعدة newgrp

يمكنك بدء shell فرعي مع مجموعة مستخدمين أساسية مؤقتة جديدة باستخدام الأمر newgrp. root@rhel65:~# mkdir prigroup root@rhel65:~# cd prigroup/ root@rhel65:~/prigroup# touch Standard.txt root@rhel65:~/prigroup# ls -l المجموع 0 -rw-r--r- -. 1 جذر الجذر 0 13 أبريل 17:49 Standard.txt root@rhel65:~/prigroup# echo $SHLVL 1 root@rhel65:~/prigroup# newgrp Tennis root@rhel65:~/prigroup# echo $SHLVL 2 root@rhel65: ~/prigroup# المس newgrp.txt root@rhel65:~/prigroup# ls -l المجموع 0 -rw-r--r--. 1 جذر التنس 0 13 أبريل 17:49 newgrp.txt -rw-r--r--. 1 جذر الجذر 0 13 أبريل 17:49 Standard.txt root@rhel65:~/prigroup# خروج خروج root@rhel65:~/prigroup#

فائدة حيوية

قياسًا على الأداة المساعدة vipw، يمكن استخدام الأداة المساعدة vigr لتحرير الملف /etc/group يدويًا، حيث إنها تقفل هذا الملف بشكل صحيح أثناء عملية التحرير. لا يمكن استخدام محرر النصوص vi أو الأداة المساعدة vigr إلا من قبل مسؤولي النظام ذوي الخبرة لإدارة مجموعات المستخدمين.

المهمة العملية: مجموعات المستخدمين

الإجراء الصحيح لإكمال مهمة عملية: مجموعات المستخدمين

1. إنشاء مجموعات مستخدمين للتنس وكرة القدم والرياضة.

التنس الجماعي؛ كرة القدم الجماعية؛ رياضة جماعية

2. باستخدام أمر واحد، اجعل المستخدم venus عضوًا في مجموعتي التنس والرياضة.

Usermod -a -G التنس، فينوس الرياضة

3. قم بإعادة تسمية مجموعة المستخدمين fotball إلى foot.

Groupmod -n كرة القدم

4. استخدم محرر النصوص vi لإضافة المستخدم سيرينا إلى مجموعة مستخدمي التنس.

5. استخدم أمر المعرف للتأكد من أن المستخدم سيرينا عضو في مجموعة مستخدمي التنس.

المعرف (بعد تسجيل الخروج وتسجيل الدخول، يجب أن يكون المستخدم سيرينا عضوا في المجموعة)

6. جعل أحد المستخدمين مسؤولاً عن إدارة عضوية المستخدمين في مجموعتي القدم والرياضة. التحقق من وظيفة الآلية المستخدمة.

Gpasswd -A (لجعل المستخدم مسؤولاً عن إدارة عضوية مجموعة المستخدمين) gpasswd -a (لجعل المستخدم عضوًا في مجموعة المستخدمين)

إنشاء مجموعة جديدة في النظام
باستخدام هذا الأمر، يمكنك إنشاء مجموعة مستخدمين جديدة (يشار إليها فيما بعد باسم المجموعة) مجموعةفي النظام:

إضافة مستخدم جديد للنظام
مستخدم جديد مستخدميمكن إضافتها باستخدام الأمر:


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

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

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

إضافة مستخدم -g أسم المجموعةمستخدم

ستكون هذه المجموعة هي المجموعة الرئيسية للمستخدم.

تعيين كلمة مرور المستخدم
كلمة مرور المستخدم مستخدميتم إعطاؤه بواسطة الأمر:


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

في حقل كلمة المرور، أقوم بإضافة علامة النجمة "*" قبل كلمة المرور نفسها (يتم وصف هذا الملف بمزيد من التفصيل في نهاية المقالة). احفظ التغييرات التي تم إجراؤها واخرج باستخدام المفاتيح السيطرة + X، مفتاح ينؤكد اختيارنا لمزيد من الأمان، يمكن تحرير هذا الملف باستخدام الأمر com.vipw. للخروج من المحرر أثناء حفظ التغييرات، تحتاج إلى التشغيل :wq. للخروج دون حفظ التغييرات، اكتب أو :ف!إذا تم إجراء أي تغييرات.

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

. عادةً ما تكون الأوامر المذكورة أعلاه كافية لإضافة مستخدم وتحريره.
يتم تخزين كافة المعلومات الخاصة بمستخدمي ومجموعات النظام في الملفات التالية:
- /etc/passwdيحتوي هذا الملف على القائمة الكاملة للمستخدمين الذين يعرفهم النظام. يصف كل سطر من هذا الملف مستخدمًا ويحتوي على سبعة حقول تحتوي على معلومات المستخدم. يتم فصل الحقول بنقطتين.
1.
2. كلمة مرور المستخدم المشفرة (لا تترك هذا الحقل فارغًا أبدًا)؛
3. معرف المستخدم (UID)؛
4. معرف المجموعة (GID)؛
5. حقل GECOS، الذي يمكنك من خلاله تحديد الاسم الكامل للمستخدم، ورقم هاتف العمل المنزلي، ومكان العمل، وما إلى ذلك؛
6. المسار إلى الدليل الرئيسي؛
7. قذيفة التسجيل.

- /الخ/الظليتم تخزين كلمات المرور هنا في شكل مشفر. هذا الملف للقراءة فقط للمستخدم المتميز. كل سطر يتوافق مع مستخدم واحد. يحتوي على تسعة حقول مفصولة بنقطتين:
1. اسم تسجيل المستخدم؛
2. كلمة مرور المستخدم المشفرة؛
3. تاريخ آخر تغيير لكلمة المرور؛
4. الحد الأدنى لعدد الأيام بين تغييرات كلمة المرور؛
5. الحد الأقصى لعدد الأيام بين تغييرات كلمة المرور؛
6. عدد الأيام قبل التحذير بشأن انتهاء صلاحية كلمة المرور؛
7. عدد الأيام حتى انتهاء صلاحية كلمة المرور؛
8. فترة صلاحية الحساب؛
9. حقل فارغ محجوز غير مستخدم.
يتم ملء حقول التاريخ في هذا الملف بعدد الأيام التي مرت منذ 1 يناير 1970. يجب ملء الحقلين الأولين!

- / الخ / المجموعةيحتوي على قائمة المجموعات وأسماء المستخدمين المدرجين في هذه المجموعات. كما هو الحال مع الملفات السابقة، يتوافق كل سطر مع مجموعة واحدة ويحتوي على أربعة حقول مفصولة بنقطتين:
1. أسم المجموعة؛
2. كلمة المرور أو الحرف مشفرة سيشير إلى استخدام الملف com.gshadow(متى يتم توصيل مستخدم بمجموعة باستخدام الأداة المساعدة newgrpتحتاج إلى إدخال كلمة المرور)؛
3. معرف المجموعة (GID)؛
4. قائمة بأعضاء هذه المجموعة، مفصولة بفواصل.

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

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

الطريقة الأولى: البرامج

في Linux/Ubuntu، يمكنك إدارة المستخدمين المسجلين في النظام باستخدام المعلمات، التي يتم تشغيلها بواسطة برنامج خاص.

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

الحسابات في جنوم

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

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

sudo apt-get install union-control-center

KUser في كيدي

هناك أداة مساعدة واحدة لمنصة KDE، وهي أكثر ملاءمة للاستخدام. يطلق عليه KUser.

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

كما هو الحال مع Gnome، يأتي KDE مثبتًا عليه KUser افتراضيًا، ولكن يمكن إلغاء تثبيته. لتثبيت التطبيق، قم بتشغيل الأمر في "صالة":

sudo apt-get install kuser

الطريقة الثانية: المحطة

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

يتم عرض جميع الإدخالات فيه بالشكل التالي:

  • اسم كل مستخدم؛
  • رقم تعريف فريد؛
  • كلمة مرور الهوية؛
  • معرف مجموعة؛
  • أسم المجموعة؛
  • غلاف الدليل الرئيسي؛
  • رقم الدليل الرئيسي.

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

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

يمكنك إعادة التوجيه إلى ملف يحتوي على بيانات المستخدم المحفوظة باستخدام "صالة"عن طريق إدخال الأمر التالي فيه:

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

الأسماء في قائمة المستخدمين

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

sed "s/:.*//" /etc/passwd

عرض المستخدمين النشطين

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

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

تاريخ التصفح

إذا لزم الأمر، فمن الممكن تحليل نشاط المستخدم: معرفة تاريخ آخر تسجيل دخول لهم. ويمكن استخدامه على أساس السجل /var/wtmp. يتم استدعاؤه عن طريق إدخال الأمر التالي في سطر الأوامر:

تاريخ آخر نشاط

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

يعرض هذا السجل أيضًا معلومات حول المستخدمين الذين لم يكونوا نشطين على الإطلاق.

خاتمة

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

من السهل جدًا عرض قائمة المستخدمين، والشيء الرئيسي هو فهم الأساس الذي تعمل به وظيفة نظام التشغيل هذه ولأي غرض يتم استخدامها.

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

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

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

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

المجموعات في لينكس

جميع المجموعات التي تم إنشاؤها على النظام موجودة في الملف /etc/group. من خلال النظر إلى محتويات هذا الملف، يمكنك معرفة قائمة مجموعات Linux الموجودة بالفعل على نظامك. وسوف تتفاجأ.

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

دعونا نلقي نظرة فاحصة على كل مجموعة من المجموعات لفهم سبب الحاجة إليها بشكل أفضل:

  • الخفي- يتم إطلاق الخدمات التي تحتاج إلى القدرة على كتابة الملفات على القرص نيابة عن هذه المجموعة والمستخدم الخفي.
  • sys- توفر المجموعة إمكانية الوصول إلى مصادر النواة وتضمين الملفات المحفوظة في النظام
  • مزامنة- يسمح لك بتنفيذ الأمر /bin/sync
  • ألعاب- يسمح للألعاب بكتابة ملفات الإعدادات والتاريخ في مجلد معين
  • رجل- يسمح لك بإضافة صفحات إلى الدليل /var/cache/man
  • lp- يسمح باستخدام أجهزة المنفذ المتوازي
  • بريد- يسمح لك بكتابة البيانات إلى صناديق البريد /var/mail/
  • الوكيل- يستخدم من قبل الخوادم الوكيلة، ولا يمكن الوصول لكتابة الملفات على القرص
  • شبكة الاتصالات العالمية البيانات- يبدأ خادم الويب بهذه المجموعة، وهو يتيح الوصول إلى الإدخال /var/www، حيث توجد ملفات مستندات الويب
  • قائمة- يسمح لك بعرض الرسائل في /var/mail
  • com.nogroup- يستخدم للعمليات التي لا يمكنها إنشاء ملفات على القرص الصلب، ولكن قراءتها فقط، وعادةً ما يتم استخدامها مع مستخدم لا أحد.
  • أدميرال- يسمح لك بقراءة السجلات من الدليل /var/log
  • tty- تسمح كافة الأجهزة /dev/vca بالوصول للقراءة والكتابة للمستخدمين من هذه المجموعة
  • القرص- يفتح الوصول إلى محركات الأقراص الثابتة /dev/sd* /dev/hd*، يمكننا القول أن هذا يشبه الوصول إلى الجذر.
  • الإتصال- الوصول الكامل إلى المنفذ التسلسلي
  • قرص مدمج- الوصول إلى القرص المضغوط
  • عجلة- يسمح لك بتشغيل الأداة المساعدة Sudo لتصعيد الامتيازات
  • صوتي- إدارة برامج تشغيل الصوت
  • src- الوصول الكامل إلى المصادر الموجودة في الدليل /usr/src/
  • ظل- يسمح بقراءة ملف /etc/shadow
  • utmp- يسمح بالكتابة إلى الملفات /var/log/utmp /var/log/wtmp
  • فيديو- يسمح لك بالعمل مع برنامج تشغيل الفيديو
  • com.plugdev- يسمح لك بتركيب أجهزة خارجية USB، CD، إلخ.
  • طاقم عمل- يسمح بالكتابة إلى المجلد /usr/local

الآن بعد أن عرفت سبب استخدامك للمجموعات في Linux وما هي افتراضيًا، دعنا نلقي نظرة على إدارة مجموعات LInux.

إدارة مجموعة لينكس

يمكنك أيضًا إدارة المجموعات باستخدام الواجهة الرسومية. لدى KDE برنامج Kuser مصمم خصيصًا لهذا الغرض، وفي Gnome يتم ذلك باستخدام إعدادات النظام. بالإضافة إلى ذلك، تحتوي التوزيعات الشائعة على أدوات منفصلة مثل YaST في OpenSUSE أو إعدادات Ubuntu. لكنني أعتقد أنك ستكتشف ذلك من خلال الواجهة الرسومية. وسننظر في إدارة مجموعات Linux من خلال الجهاز. أولا، دعونا نتعامل مع الملفات، وبعد ذلك فقط مع المستخدمين.

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

هنا يمكنك أن ترى أن مالك جميع المجلدات هو sergiy والمجموعة هي أيضًا sergiy. صحيح، بما أن هؤلاء المستخدمين هم من قمت بإنشائهم. لكن دعنا نذهب أبعد من ذلك:

نرى هنا أن أجهزة القرص sd* مخصصة لمجموعة الأقراص، مما يعني أن المستخدم الذي ينتمي إلى هذه المجموعة يمكنه الوصول إليها. أو مثال آخر:

كل شيء كما ناقشنا في الفقرة السابقة. ولكن لا يمكن تعيين هذه المجموعات بواسطة النظام فحسب، بل يمكنك أنت بنفسك تغيير مجموعات الملفات يدويًا، ولهذا يوجد الأمر chgrp:

chgrp اسم المجموعة file_name

على سبيل المثال، لنقم بإنشاء اختبار ملف:

ودعونا نغير المجموعة لذلك:

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

اختبار إضافة مجموعة سودو

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

تتم إدارة مجموعات Linux للمستخدم باستخدام الأمر usermod. دعونا نلقي نظرة على بناء الجملة والخيارات:

خيارات $usermod اسم المستخدم

  • - المجموعات الإضافية التي تحتاج إلى إضافة المستخدم إليها
  • تغيير المجموعة الأساسية للمستخدم
  • إزالة مستخدم من مجموعة.

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

sudo usermod -G -اسم مستخدم group_name

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

sudo newgrp group_name

على سبيل المثال، دعونا نضيف مستخدمنا إلى مجموعة الأقراص حتى نتمكن من الوصول مباشرة إلى محركات الأقراص الثابتة دون أمر sudo:

sudo usermod -G -a disk sergiy

يمكنك الآن تحميل الأقراص بدون الأمر sudo:

جبل /dev/sda1 /mnt

يمكنك عرض مجموعات Linux التي يكون المستخدم عضوًا فيها باستخدام الأمر:

يمكنك أيضًا استخدام أمر id. في الحالة الأولى، نرى ببساطة قائمة بمجموعات Linux؛ وفي الحالة الثانية، تتم الإشارة أيضًا إلى المجموعة ومعرف المستخدم. لإضافة مستخدم إلى مجموعة Linux، استخدم الخيار -g للمجموعة الأساسية.

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

Linux هو نظام تشغيل متعدد المستخدمين. كل المستخدم في لينكسينتمي إلى واحد مجموعة الأساسيةوواحد أو أكثر مجموعات إضافية. في Linux، كما هو الحال في معظم أنظمة التشغيل الأخرى، يتكون العمل مع المستخدمين من مجموعة من المعالجات التالية: إضافة مستخدم/مجموعة، حذف مستخدم/مجموعة، تعديل إعدادات المستخدم/المجموعة. يتم تنفيذ هذه التلاعبات باستخدام الأوامر: إضافة المستخدم، إضافة المجموعة، دليل المستخدم، groupdel، usermod، groupmod، و كلمة المرور، gpasswd، معرف. بمزيد من التفاصيل: توجد أيضًا أدوات إدارة المستخدم الرسومية، وعادةً ما تكون موجودة في غلاف X في القسم الإدارة - المستخدمون والمجموعات.

ميزات إدارة المستخدم في Linux

مثال لإضافة مستخدم باستخدام Shell:

User-add-server:~# groupadd test user-add-server:~# useradd -c "Test Test" -g test -m test user-add-server:~# passwd test أدخل كلمة مرور UNIX الجديدة: أعد الإدخال كلمة المرور الجديدة UNIX: passwd: تم تحديث كلمة المرور بنجاح user-add-server:~# id test uid=1001(test) gid=1001(test)groups=1001(test) user-add-server:~# ls -ld / الصفحة الرئيسية/اختبار / اختبار اختبار drwxr-xr-x 4096 16 ديسمبر 10:24 /home/test/ user-add-server:~#

في المثال نضيف مجموعة لمستخدم جديد (groupadd)، ثم نقوم بإنشاء مستخدم جديد بالاسم الكامل Test Test، لديه اختبار المجموعة الرئيسية واختبار تسجيل الدخول، ثم قم بتعيين كلمة مرور لاختبار المستخدم (passwd test) و تحقق من معلمات المستخدم الذي تم إنشاؤه (المعرف ومستخدم الدليل الذي تم إنشاؤه /home/test/). توضح القائمة أن UID وGID أكثر من 1000. هذه الميزة هي علامة المستخدم العادي. تشير القيم الأقل (أقل من) 1000 (وفي بعض التوزيعات أقل من 500) إلى أن المستخدم مستخدم النظام.

بناء على الاتفاقية، مستخدمي النظامعادة ما يكون معرف أقل من 100، و المستخدم الجذرلديه معرف يساوي 0. يبدأ الترقيم التلقائي للمستخدمين العاديين بـ قيم UID_MIN ، المنصوص عليها في الملف /etc/login.defs، يتم تعيين هذه القيمة عادةً على 500 أو 1000.

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

في بعض الأنظمة، يكون لأمر (أوامر) إضافة مستخدم وظائف موسعة. أي، على سبيل المثال، يقوم الأمر useradd في توزيعات Fedora وRed Hat افتراضيًا بإنشاء مجموعة جديدة لمستخدم جديد ولإلغاء هذه الوظيفة، يجب عليك استخدام الخيار -n. لتوضيح مثل هذه الأسئلة، يجب عليك الرجوع إلى وثائق التوزيع.

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

خادم إضافة المستخدم: ~# اختبار userdel user-add-server:~# اختبار groupdel user-add-server:~# ls -ld /home/test/ drwxr-xr-x 2 1001 1001 4096 16 ديسمبر 10:24 /home/test/ user-add-server:~# groupadd test123 user-add-server:~# useradd -c "Test Test" -g test123 -m test123 user-add-server:~# ls -ldn /home/ اختبار* drwxr-xr-x 2 1001 1001 4096 16 ديسمبر 14:30 /home/test drwxr-xr-x 2 1001 1001 4096 16 ديسمبر 14:29 /home/test123 user-add-server:~# ls -ld / الصفحة الرئيسية/اختبار* خادم إضافة المستخدم:~# ls -ld /home/test* drwxr-xr-x 2 test123 test123 4096 Dec 16 10:24 /home/test drwxr-xr-x 2 test123 test123 4096 Dec 16 14 :25 /home/test123 user-add-server:~# passwd test123 أدخل كلمة مرور UNIX الجديدة: أعد إدخال كلمة مرور UNIX الجديدة: passwd: تم تحديث كلمة المرور بنجاح user-add-server:~# su -l test123 test123@user-add - الخادم: ~$ pwd /home/test123 test123@user-add-server:/home/mc-sim$ ls /home/ mc-sim test test123 test123@user-add-server:~$ cd /home/mc- sim / test123@user-add-server:/home/mc-sim$ ls -la المجموع 24 drwxr-xr-x 2 mc-sim mc-sim 4096 15 نوفمبر 12:31 . drwxr-xr-x 6 جذر الجذر 4096 16 ديسمبر 14:25 .. -rw------- 1 mc-sim mc-sim 99 15 نوفمبر 13:45 .bash_history -rw-r--r-- 1 mc-sim mc-sim 220 1 أكتوبر 17:42 .bash_logout -rw-r--r-- 1 mc-sim mc-sim 3116 1 أكتوبر 17:42 .bashrc -rw-r--r-- 1 mc- sim mc-sim 675 1 أكتوبر 17:42 .profile test123@user-add-server:/home/mc-sim$ rm /home/mc-sim/.bash_logout rm: حذف الملف العادي المحمي ضد الكتابة `/home/mc -sim/.bash_logout"؟ y rm: غير قادر على حذف `/home/mc-sim/.bash_logout": تم رفض الإذن test123@user-add-server:/home/mc-sim$ rm /home/test/.bashrc test123@user-add-server:/home/mc-sim$

في المثال أعلاه نحن حذف المستخدم والمجموعة امتحان، تم إنشاؤها في وقت سابق. في هذه الحالة، ظل دليل هذا المستخدم دون تغيير. كما يتبين من القائمة، ظلت حقوق الدليل ل معرف 1001. القادم نحن إنشاء مستخدم جديد ومجموعة جديدةولكن باسم مختلف - test123. تم تعيين هذا المستخدم معرف فريدو دائرة المخابرات العامة- مستخدم موجود سابقًا امتحان. بالنظر إلى قائمة الدلائل التي تبدأ بـ /الصفحة الرئيسية/اختبار* مع مفتاح وبدون ذلك، نرى ما حدث - دليل المستخدم امتحانأصبحت مملوكة للمستخدم test123ما تخبرنا به حقوق الوصول -rw-r--r-- test123 test123. تسجيل الدخول كمستخدم test123وللتحقق من حقوق الوصول في الدليل /الصفحة الرئيسية/اختبارنحاول حذف الملف، ونحاول أيضًا حذف الملف من دليل المستخدم الثالث - mc-sim. يوضح هذا المثال جيدًا أن كل شيء في Linux مرتبط بالمعرفات.

إدارة قواعد بيانات المستخدمين والمجموعة في نظام Linux

الملفات الرئيسية التي تحتوي على معلومات حول المستخدمين والمجموعات هي أربعة ملفات في الدليل /إلخ.

/etc/passwd

ملف كلمة المرور يحتوي على معلومات أساسية عن المستخدمين

/الخ/الظل

ملف كلمة المرور المشفر الظل الذي يحتوي على كلمات مرور مشفرة

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

ملف المجموعات يحتوي على معلومات أساسية عن المجموعات والمستخدمين المنتمين إلى هذه المجموعات

/etc/gshadow

ملف مجموعات الظل الذي يحتوي على كلمات مرور المجموعة المشفرة

لا يُنصح بشدة بتحرير هذه الملفات باستخدام محرر نصوص عادي. يتم تحديثها (الملفات) عند تنفيذ الأوامر المذكورة أعلاه، وعند تغييرها، يتم حظرها ومزامنتها.

إذا كانت لا تزال هناك حاجة ملحة لتحرير الملفات المحددة، فاستخدم الأمر com.vipwيمكنك تحرير الملف بأمان /etc/passwdوباستخدام الأمر vigr يكون تحرير الملف آمنًا / الخ / المجموعة. ستقوم هذه الأوامر بقفل الملفات الضرورية أثناء إجراء التغييرات باستخدام المساعدة. إذا قمت بإجراء تغييرات على الملف /etc/passwd، فريق com.vipwسيطالبك بالتحقق مما إذا كان الملف يحتاج أيضًا إلى التحديث /الخ/الظل. وبالمثل، إذا قمت بتحديث ملف / الخ / المجموعةباستخدام الأمر vigr، ستتلقى مطالبة بأنك بحاجة إلى تحديث الملف /etc/gshadow. إذا كنت بحاجة إلى إزالة مسؤولي المجموعة، فيجب عليك استخدام الأمر حيوية، منذ الأمر com.gpasswdيسمح لك فقط بإضافة المسؤولين.

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

الملف /etc/passwd

user-add-server:~# cat /etc/passwd root:x:0:0:root:/root:/bin/bash lp:x:7:7:lp:/var/spool/lpd:/bin/ sh sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin test123:x:1001:1001:اختبار الاختبار:/home/test123:/bin/sh

يحتوي الملف /etc/passwd على سطر واحد لكل مستخدم على النظام. يحتوي كل سطر على سبعة حقول مفصولة بنقطتين (:)، وصف للحقول باستخدام المستخدم الجذر كمثال:

مجال معنى وصف
اسم المستخدم جذر الاسم المستخدم لتسجيل الدخول (تسجيل الدخول)
كلمة المرور س كلمة مرور المستخدم (إذا كانت مشفرة، استخدم -x)
معرف المستخدم (UID) 0 معرف المستخدم
معرف المجموعة (GID) 0 معرف مجموعة