نظام السرية وإنشاء مستخدم جديد
يحتاج نظام السرية من المستخدم ما يلي:
- كلمة السر Password، والتي تخزن في صورة مشفرة في قاعدة البيانات MySQL لتحقيق من الذين لهم حق الدخول، واسم المستخدم وكلمة السر Username.
- الصلاحيات Privileges والتي تحدد ما يستطيع استعماله هذا المستخدم من جداول وغيره
وأول خطوة هي إنشاء مستخدم جديد ويتم ذلك باستعمال الأمر GRANT كما في الأمر التالي:
في هذه الصورة يتم استعمال الأمر Gtant لإنشاء مستخدم جديد بالاسم AZAB واستعمال indentified by لتحديد كلمة السر وهي MOH
ملحوظة هامة جدًا: ليس من حق أي مستخدم إنشاء مستخدم جديد بل لابد أن يأخذ صلاحيات مدير قاعدة البيانات DBA وقاعدة بيانات MySQL تأتي ومعها مستخدم له صلاحيات مدير قاعدة بيانات بالاسم SYSTEM وكلمة السر Manager لذلك لإنشاء مستخدم جديد وإعطاءه صلاحيات أو إنشاء صلاحيات لابد من الدخول إلى قاعدة بيانات MySQL بالمستخدم root وكلمة السر كما حددتها.
والصورة العامة للأمر هي
جرب الدخول إلى بيئة MySQY Commandline Client بالمستخدم root كما سبق
اكتب أمر إنشاء مستخدم جديد ونفذه كما بالشكل 1.
الشكل (9- 1)
بهذا تم إنشاء مستخدم بالاسم AZAB بكلمة MOH ولكن هذا المستخدم ضعيف وليس له أي صلاحيات هو مجرد مستخدم بقاعدة بيانات MYSQY والصلاحية usage هي مجرد صلاحية الدخول log on ولابد من منحه صلاحيات ليعمل منح صلاحيات النظام Granting System privileges ويتم ذلك باستعمال الأمر grant كما في الأمثلة التالية:
- grant on *,* to onr;
- grant all on employee. * to omar;
grant select on department to omar;
grant select (employeeID)on employee to omar;
وهى الصلاحيات إنشاء وحذف وتعديل عناصر قاعدة البيانات وأول صلاحيات لابد من أن يأخذها أي مستخدم هي Create session وتنقسم صلاحيات النظام إلى مجموعتان:
الأولى: مجموعة صلاحيات المرتبطة بعناصر قاعدة البيانات مثل tables, indexes, triggers, sequences, view, packages, functions,…
وهناك ثلاث عمليات على هذه العناصر تمنح على أساس الصلاحيات هي: إنشاء العنصر (create)، تعديل العنصر (altering) الحذف(drop)
الثانية: مجموعة الصلاحيات الخاصة بالنظام مثل ضبط النظام ومراجعة عمله (Auditing) ومنح الصلاحيات للمستخدم وهي
المجموعة التي يطلق عليها restricted session وهذه المجموعة غالباً لمدير قاعدة البيانات Administrators وتمنح الصلاحيات باستعمال الأمر Grant، أما أن يملكها لذلك يمنحها لغيره أو أنه مدير قاعدة البيانات أو صلاحياته.
ويمكن للمستخدم إنشاء عنصر في قاعدة بيانات الخاصة به إذا كانت صلاحيته هي Create فقط مثل create table ولكن لإنشاء جدول في أي قاعدة بيانات لابد من إضافة الصلاحية any مثل create any table وفيما يلي صور للأمر grant المستعمل في منح الصلاحيات.
في هذه السطور
في السطر رقم 1 تم استعمال الأمر GRANT لمنح الصلاحية Create session للمستخدم AZAB
في السطر رقم 2 تم استعمال الأمر GRANT ليمنح مجموعة من الصلاحيات للمستخدم AZAB
ولاحظ أن الأمر GRANT يأخذ الصورة:
اسم المستخدم To الصلاحيات GRANT