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


السلام عليكم

بالدرس التالي سنقوم بشرح طريقة تحديد الموارد للمستخدمين على سيرفرات لينكس ، من خلال Pluggable Authentication Modules (PAM) التي تدعمها أغلب التوزيعات الخاصة باللينكس CentOS, Fedora Core, RedHat.

على نظام Redhat و Mandrake يوجد مجلدان في النظام ، "/etc/pam.d/" و "/etc/security/".

/etc/pam.d/ هو المجلد الذي يوجد داخله الموديلات الخاصة ، و /etc/security/ هو المجلد الذي يحتوي على بعض ملفات الكونفيج لأغلب هاته الموديلات ، نحن هنا سنقوم بالعمل على ملف واحد هو /etc/security/limits.conf ، و لتعلم جيدا عمل هذا الملف يرجى قرائة المقال التالي PAM .

عدم تحديد الموارد و تقنينها يجعل المستخدم (الضار أو الغير النافع أو المخترق) يستخدم هاته المزة لأغراق السيرفر بالعمليات و الملفات الكبيرة التي قد تأدي لخلل في النظام و بالتالي التمكن من السيطرة على السيرفر في بعض الأحيان .

لكن بتحديدنا للموارد نكون قد قطعنا على هاته الأنواع من العمليات الأبواب لإغراق السيرفر ، و بالتحديد التقنين يتم على مستوى ملف /etc/security/limits.conf ، هذا الملف هو المسؤول عن تحديد الموارد العامة و الكلية لكل مستخدم ، و بما ان التطبيقات مثل Apache web, named و ftp يعملان تحت اسم مستخدم معين ، نكون أيضا قد حمينا هاته التطبيقات من الأوامر الملغومة .

الان نرى محتوى ملف /etc/security/limits.conf :


#Each line describes a limit for a user in the form:
#
#
#
#Where:
# can be:
# - an user name
# - a group name, with @group syntax
# - the wildcard *, for default entry
# - the wildcard %, can be also used with %group syntax,
# for maxlogin limit
#
# can have the two values:
# - "soft" for enforcing the soft limits
# - "hard" for enforcing hard limits
#
# can be one of the following:
# - core - limits the core file size (KB)
# - data - max data size (KB)
# - fsize - maximum filesize (KB)
# - memlock - max locked-in-memory address

space (KB)
# - nofile - max number of open files
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of processes
# - as - address space limit
# - maxlogins - max number of logins for this user
# - maxsyslogins - max number of logins on the system
# - priority - the priority to run user process with
# - locks - max number of file locks the user can hold
# - sigpending - max number of pending signals
# - msgqueue - max memory used by POSIX message queues (bytes)
#
#
#

#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4


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

# Limit user processes
* soft nproc 100
* hard nproc 150


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

# limits size of any one of users' files" /etc/security/limits.conf
* hard 40000



نحفظ التغييرات و نرى النتجية .

ملاحظة : الدرس يمكنك تطبيقه و تحمل مسؤولية النتائج ، إن كنت تجهل ما تقوم به ، فرجاء لا تقم بإي تعديلات حتى تكون على علم بعمل كل ملف على حدى .

أتمنى ان أكون قد قدمت ولو قليل من المعلومة و ما توفيقي إلا بالله العلي العظيم .