أعجوبة

البرمجيات الحُرة والمفتوحة المصدر

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

أدوات الموقع


docs:إدارة_النظام_من_سطر_الأوامر

~~ODT~~

قيد الانشاء الحقوق محفوظة الرخصة:FDL –مبدئيا ولكن ستبقى رخصة حرة

هذا إن شاء الله الدرس الاول

سأتكلم في هذه الدروس عن ادارة النظام و بما انني درست نظام اللينوكس في احدى الدورات فاحببت ان اشارككم بالمعلومات التي احصلها و انا اراجع ما درسته.

إدارة المستخدمين

الملف الذي يحوي معلومات المستخدمين هو /etc/passwd

يحوي هذا الملف معلومات عن المستخدمين و عن حسابات النظام المطلوبة من البرامج عند الولوج

لعرضه استخدم الامر cat

 $ cat /etc/passwd

هذه فقرة من الملف:

sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
me:x:1000:1000:land cruser:/home/me:/bin/bash

هذه الفقرة فيها اسماء خمسة مستخدمين و في كل سطر 7 بيانات مهمة مفصولة بنقطتين فوق بعض “:” سأبدأ الكلام من اليسار لليمين

  1. اسم المستخدم: وهو الاسم الذي يدخل به للنظام
  2. كلمة السر: حيث كانت توضع هنا كلمات السر قبل استخدام الملف Shadow
  3. المعرف الرقمي للمستخدم: الرقم الذي يرمز للمستخدم في النظام
  4. المعرف الرقمي لمجموعة المستخدم: الرقم الذي يرمز للمجموعة في النظام
  5. الاسم الكامل
  6. مجلد البيت (المنزل)
  7. البرنامج الذي يعمل عند دخول المستخدم: بالنسبة للمستخدمين العاديين

سترى /bin/bash

المجموعات

توجد المجموعات داخل الملف التالي: /etc/group يحوي هذا الملف معلومات عن المجموعات في النظام

هذه فقرة منه:

haldaemon:x:123:
me:x:1000:
vboxusers:x:124:me
sambashare:x:125:me
winbindd_priv:x:126:
thwab:!:127:
  1. اسم المجموعة
  2. كلمة السر
  3. المعرف الرقمي
  4. اعضاء المجموعة

لإضافة مستخدم جديد

useradd LOGIN

حيث LOGIN هو اسم المستخدم

على ديبيان الامر هو

adduser LOGIN

لإضافة عدة مستخدمين معا يمكنك انشاء ملف بنفس صيغة ملف passwd و سيقوم الامر

newusers

بإنشاء المستخدمين لكن العيب في هذا الامر انه لن يقوم بإنشاء بنسخ ملفات /etc/skel داخل مجلد البيت.

(يبدو ان مجلد etc/skel يحوي الملفات الافتراضية للمجلد /home/username التي لابد منها)

و هكذا ظهر محتوى المجلد عندي:

ls -a /etc/skel/

حيث الخيار a هو لإظهار الملفات المخفية

. .. .bash_logout .bashrc Examples .profile

لتغيير كلمة المرور

passwd [options] [LOGIN]

حيث option لتمرير خيارات إن شئت و LOGIN هو اسم المستخدم إن كنت تريد تغيير كلمة سر حساب آخر

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

يمكنك التغيير في ملف /etc/passwd يدويا او استخدام الامر

usermode [options] LOGIN

حيث [options] ترمز لخيارات و LOGIN لاسم المستخدم

عدد من الخيارات المتاحة

  • -c يعدل التعليق الملحق بالمستخدم
  • -d يعدل المجلد البيت
  • -e يضع تاريخ انتهاء صلاحية الحساب
  • -g المجموعة الاساسية
  • -G المجموعات التي ينتنمي لها المستخدم
  • -s تغير صدفة الدخول
  • -l تغيير اسم الدخول
  • -u تغيير المعرف الرقمي للمستخدم
  • -L قفل الحساب
  • -U يفتح القفل
  • -p يغير كلمة السر في حقلها

عند وضع الأمر G يجب عليك سرد كل المجوعات التي ينتمي لها المستخدم. مثال:

usermode -G usergroup,sambashare,vboxusers username

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

/etc/passwd
/etc/shadow
/etc/group
/var/spool/mail/

او باستخدام الامر:

userdel -r LOGIN

حيث r لحذف مجلد البيت أيضا


ملاحظة: صلاحية الملفين passwd و group هي 644 بينما الملف shadow هي 640 (هذا في أبونتو)


عمر كلمة المرور

عادة كلمة المرور لا يتم تغييرها لفترة طويلة ولكن لأسباب الأمان قد تحتاج لوضع أجل لإنتهاءها.

chage [options] [LOGIN]

الخيارات

  • -m عدد الايام قبل السماح بتغيير كلمة المرور
  • -M الحد الأقصى لصلاحية الكلمة بالأيام
  • -I عدد أيام تعطيل الحساب قبل قفله
  • -W أيام التنبيه قبل انتهاء كلمة المرور
  • -E تاريخ الانتهاء وفق الصيغة
    YYYY-MM-DD

    و لإزالة تاريخ الإنتهاء مرر الخيار -l بدل التاريخ

لتحويل مكان تخزين كلمات السر عن ملف Shadow

إستخدم الأمر التالي

pwunconv

هذا الامر سينشأ ملف passwd من ملف passwd وملف shadow و سيزيل ملف shadow

pwconv

سينشأ ملف shadow من ملف passwd و إختياريا من ملف shadow موجود

الشيء ذاته للمجموعات يوجد الامرين

grpconv
grpunconv

حيث ينشأ الاول ملف gshadow الخاص بالمجموعات والثاني يزيل إعتماده

الفرق بين إعتماد ملفات shadow أو عدمه أن الملف shadow لا يمكن قراءته من كل المستخدمين بعكس ملف passwd.

جرب عمل cat لكل منهما على حدا.

إضافة مجموعة

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

groupadd gruop

لإزالة مجموعة

groupdel gruop 

لتغيير اسم مجموعة

groupmod -n NEW_NAME GROUP

حيث سيتم تغيير اسم المجموعة من GROUP إلى NEW_NAME

و يمكن بإستخدام الخيار -g ثم رقم تغيير معرف المجموعة إلى ذلك الرقم.

للتبديل بين الحسابات

يوجد الأمر

su [options] [LOGIN]

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

su -

ترك الأمر بدون تحديد مستخدم سيفترض انك تريد الدخول للجذر وإلا ضع اسم مستخدم بدل [LOGIN]

su - USERNAME

ملكية ملف

لمعرفة ملكية ملف اكتب الامر التالي

ls -l FILENAME

حيث FILENAME هو إسم الملف هذا مثال

-rw-r--r-- 1 usama usama 1732 2008-08-26 12:07 index.html

حيث نفذت الامر السابق على على الملف index.html فاعطاني هذه المعلومات هنا usama الاولى ترمز لصاحب الملف والثانية ترمز للمجموعة صاحبة الملف حيث لكك ملف ملكيتان ملكية صاحبه و ملكية مجموعته. عندما ينشيء المتسخدم ملفا يتم وضعه مباشرة في ملكيته و ملكية مجموعته الأساسية.

تغيير الملكية

يمكن تغيير ملكية الملف من قبل الجذر بإستخدام الامر

chown [الخيارت]... [المالك][:[المجموعة]] الملف...

مثال: لتغيير مالك الملف index.html إلى khaled

chown khaled index.html

إنظر التغييرات بإستخدام الامر ls -l

-rw-r--r-- 1 khaled usama 1732 2008-08-26 12:07 index.html

ستجد ان اسم المستخدم تغيير و بقيت المجموعة. لتغيير الإثنين سوية اكتب:

chown khaled:khaled index.html

صلاحيات الملف في لينوكس

رايت عند الامر ب ls -l أن النظام اعطانا شيئا كهذا في بداية السطر

-rw-r--r--

هذه الحقول هي التي تعبر عن صلاحية الملف و هي 9 حقول سنناقش الحقل الاول فيما بعد.

لكل ملف ثلاث مستويات وصول:
المالك owner
المجموعة group
الآخرون others

و ثلاث انماط وصول:
r يمكن القراءة
w يمكن الكتابة
x التنفيذ للملفات و الإستعراض للمجلدات

لكل مستوى ثلاث حقول من الحقول التسعة

إذا
اول ثلاثة هي لصلاحيات المالك
الثلاثة التالية هي لصلاحيات المجموعة
الثلاثة الأخيرة هي لصلاحيات الآخرين

في مثالنا السابق:

-rw-r--r--

لمالك الملف حرية القراءة و الكتابة
لمجموعة الملف حرية القراءة
للآخرين (أي شخص لا ينتمي للسابقين) حرية القراءة

مثال عن ملف يعطي الصلاحيات الثلاث:

-rwxrwxrwx

إن إذن الكتابة لملف يمكن من كتابة محتواه و إذن الكتابة لدليل يتيح إنشاء, أو حذف ملفات داخلة حتى و إن لم يكن مالكها. إن إذن الكتابة لا يعني إمكانية إزالة الملف رغم إمكانية التعديل عليه و يبقى امر الإزالة بيد مالكه.

سحب صلاحية المالك أو المجموعة SUID و SGID

هناك بعض الملفات التي قد ترغب بجعلها تعمل دائما بصلاحية مالكها مثلا: امر تغيير كلمة السر هو ملك للجذر

-rwsr-xr-x 1 root root 29104 2008-04-03 03:08 /usr/bin/passwd

و هو يقوم بالتغيير في ملف shadow المملوك للجذر أيضا. و بما ان الملف التنفيذي passwd يحمل العلامة s هذا يعني ان من ينفذه ينفذه بصلاحيات مالكه وهو الجذر و ستتمكن من تغيير كلمة سرك في ملف shadow رغم انك لا تملك صلاحيات عليه.

لنفرض مثالا آخر انك اعطيت العلامة s لمحرر النصوص gedit فتحولت صلاحياته

-rwxr-xr-x

إلى

-rwsr-xr-x

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

لإعطاء العلامة s بصلاحية مالك الملف

chmod u+s FILENAME

بصلاحية المجموعة التي ينتمي لها الملف

chmod g+s FILENAME

حيث سيتمكن مشغل الملف من إستخدامه بصلاحية المجوعة التي ينتمي لها الملف.

و بما أن العلامة s تكون في الحقل الخاص بصلاحية التنفيذ لذلك فإن العلامة بالحرف الصغير s تعني أن له صلاحية التنفيذ أيضا و إن كانت بالحرف الكبير فيه تعني انه بدون صلاحية التنفيذ.

-rwsr-xr-x

بصلاحية تنفيذ مع صلاحية المالك لمنفذه

-rwSr-xr-x

صلاحية المالك فقط

-rwxr-sr-x

صلاحية التنفيذ مع صلاحية المجموعة

الدليل الثابت بعلامة منع الحذف

يمكنك منع المستخدمين من حذف الملفات في دليل يملكون إذن الكتابة فيه و مثال ذلك مجلد مشترك يملك الكل إذن الكتابة فيه

مثال لعمل ذلك:

chmod o+t /home/photo

حيث جعلنا كل من يستطيع الدخول لمجلد photo داخل home ممنوعا من حذف ملفات غيره. ستجد صلاحيات الدليل هكذا:

drwxrwxr-t

حيث t الموجود في آخر حقل يرمز لهذه الميزة. وفي هذه الحقول d التي سبقت حقول الصلاحية ترمز للنوع و تعين هنا دليل. بينما الملفات العادية لن تحمل شيئا بل علامة - .

و كما سبق بما انه يحتل مكان صلاحية التنفيذ للآخرين others فإن t صغيرة تعني صلاحية التنفيذ و منع مسح ملفات الغير بينما T كبيرة لن تعطي صلاحيات التنفيذ لل“آخرين”.

واشهر مثال على هذه الميزة الدليل tmp للملفات المؤقته

المجموعة الإفتراضية

عادة عندما يتم إنشاء ملف فسيكون ملكا لمنشئه و للمجموعة الإفتراضية لمنشأه.

$ touch file.txt
$ ls -l file.txt
-rw-r--r-- 1 me me 0 2008-09-04 10:43 file.txt

فإذا اردنا إنشاء دليل نريد ان يشارك فيه كل من ينتمي لمجموعة معينة قمنا بإنشاءها و إضافة ميستخدمين لها

# chmod g+s dirictory

حيث dirictory هو الدليل. و بهذا الامر نكون قد أضفنا هذه الميزة للدليل و من الآن كل ملف ينشئ فيه سيحمل ملكية المجموعة المالكة للدليل.
و يمكن كتابة الامر بهذا الشكل:

# chmod 2775 dirictory

هكذا نكون غيرنا صلاحيات الملف ايضا

الصلاحيات الإفتراضية

لمعرفة ما هي الصلاحيات التي تعطى عند إنشاء ملف إكتب

# umask

عادة يكون الناتج 022 و هذا يعني ان اي ملف ناتج سيحمل ناتج طرح الرقم 022 من الصلاحيات الكاملة 666 بالنسبة للملفات و 777 بالنسبة للأدلة. فيصبح الناتج عند إنشاء اي ملف 644 و 755 بالنسبة للادلة.

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

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

FIXME كما قلنا سابقا عندما ينشئ المستخدم ملفا فسيكون ملكا له و لمجموعته الافتراضية و هي عادة مثل اسم الدخول ايضا الاسم me المجموعة الخاصة me. و سيكون المستخدم العضو الوحيد فيها و لمشاركة الملفات يستحسن عدم إضافة المستخدمين لمجموعة المستخدم الخاصة بل إنشاء مجموعة جديدة و جعل الملفات يتبعون لها و إضافة المستخدمين لها. لتسجل الدخول بمجموعة جديدة استخدم الامر التالي:

newgroup

ثم اسم المجموعة التي انت عضو فيها وجرب إنشاء ملف وانظر النتيجة
عند استخدام الخيار - سيؤدي هذا نفس عمل لو كنت سجلت الدخول مباشرة بإسم هذه المجموعة. و يشبه خيار - في su لتغيير ملكية المجموعة لملف هناك الامر

chgrp [OPTION]... GROUP FILE...

ببساطه هو كالتالي

chgrp group filename

و لكن احببت ان احضر سطر من صفحات man.

بيئة المتسخدم

User Environment

الدليل الذي تؤخذ منه ملفات البيت هو /etc/skel يمكنك الإستفادة من ذلك و التعديل عليه. مثلا: بوضع رسالة على سطح المكتب ستظهر لكل مستخدم جديد.
يمكنك إضافة مستخدم جديد يستخدم مصدرا للبيت غير /etc/skel بإستخدام الامر

FIXME

useradd -mk

نصوص إعدادات الصدفة عند تسجيل الدخول يتم تنفيذ الملف

/etc/profile

و يحوي هذا الملف المتغيرات العامة التي تنطبق على كل النظام مثل القناع الافتراضي umask

بعد ذلك يتم تنفيذ

~/.bash_profile

و يقوم هو بدوره بطلب

~/.bashrc

و

/etc/bashrc

الدليل

/etc/profile.d

يحوي كل النصوص التنفيذية التي لها علاقة بحزم البرامج المثبته عن طريق rpm م ح ر . و يتم طلبها عن طربق /etc/profile او /etc/bashrc إن طلبت من صدفة بلا ولوج.

وظيفة الملف /etc/bashrc هي وضع الوظائف و الاسماء المستعارة للنظام كله و تنفيذها يأتي بطلب ~/.bashrc

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

يحوي الملف

~/.bashrc

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

~/.bash_profile

متغيرات البيئة و يتم اتسخدامه لوضع المتغيرات و بدء البرامج عند التشغيل و يتم تنفيذه مرة واحدة عند الولوج
في ديبيان الملف هو

~/.profile

نظام الحصص

Quota

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

/etc/fstab

مثلا لنفرض ان هناك قسم من القرص يضع المستخدمين عليه الملفات الكبيرة الحجم و لكن احدهم طغت ملفاته على ملفات غيره و ضاقت المساحة بهم و لنفرض ان نقطة الضم هي

/Sharedpartion

و لتجربة التغيرات مباشرة نقوم بإعادة ضمه مرة اخرى هكذا

# mount -o remount /Sharedpartion

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

# qutoacheck -c /home

يتميز نظام الحصص بانه داخل النواة و انه يمكن تحديد الحصص حسب inode أو حسب الكتلة block .

تفعيل الحصص و ايقافها يتم بالامرين التاليين quotaon و quotaoff. و يتم تشغيل هذه الاوامر بإضافة الجزء الذي ستطبق عليه الحصص.

# quotaon /Sharedpartion

او بإستخدام الخيار -a بدل مكان الجزء حيث سيقوم بتطبيق الحصص على كل الاجزاء المفعل عليها هذه الميزة و الموجود في /etc/fstab. وعادة لا تحتاج لتشغيل نظام الحصص لانه يكون مفعلا في نصوص التشغيل الابتدائية.

لإقامة حدود الحصص على المتسخدمين نستخدم الامر

edquota username

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

edquota -p olduser newuser

ال p هنا تعني prototype فسياخذ الإعداد من المستخدم olduser و يطبقه على المستخدم newuser

FIXME و هناك الخيار -t حيث يحدد مدة التجاوز المسموح بها قبل وهي الحد الادنى و عند تجاوزها يصبح منتهكا للحد الاعظمي. يمكنك معرفة مدى استخدامك لحصتك بالامر quota و لتوليد تقرير شامل عن الحصص

repquota

و لإرسال تنبيهات للمستخدمين عن حصصهم عليك باستخدام الامر

warnqouta

براءة //(قسم ثابت تحت الإنشاء)//

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

الرخصة

جميع الحقوق محفوظة (C) 2008 اسامه عقاد Usama Akkad

يسمح بنسخ، توزيع و/أو تعديل هذا المستند ضمن شروط إتفاقية ترخيص المستندات الحرة GNU الإصدار 1.2 أو أي إصدارٍ لاحقٍ تم نشره من قبل مؤسسة البرمجيات الحرة، مع اعتبار الأقسام الثابتة التالية (براءة)، ونصوص الغلاف الأمامي التالية (قم بإدراجها) ونصوص الغلاف الخلفي التالية (قم بإدراجها).. لقد تمت إضافة نسخة من إتفاقية الترخيص في القسم المعنون (إتفاقية ترخيص المستندات الحرة GNU).

أسامة عقّاد 2008/09/03 13:34

docs/إدارة_النظام_من_سطر_الأوامر.txt · آخر تعديل: 2015/04/23 03:19 بواسطة 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki