OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

ممارسة امتيازاتنا

الآن وقد تعلمنا كيفية عمل شيء الأذونات هذا ، فقد حان الوقت لإظهاره. سنقوم بشرح الحل لمشكلة مشتركة-إنشاء دليل مشترك. لنتخيل أن لدينا مستخدمين باسم "بيل" و "كارين". كلاهما لهما مجموعات قرص موسيقي ويرغبان في إعداد دليل مشترك ، حيث سيخزن كل منهما ملفات الموسيقى الخاصة بهما على هيئة Ogg Vorbis أو MP3. مستخدم مشروع قانون لديه حق الوصول إلى امتيازات المستخدم المتميز عبر سودو.

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


صورة

الشكل 3: إنشاء مجموعة جديدة باستخدام جنوم


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


[بيل @ لينوكس بوكس ​​~] $ sudo mkdir / usr / local / share / الموسيقى

كلمه السر:

[بيل @ لينوكس بوكس ​​~] $ sudo mkdir / usr / local / share / الموسيقى

كلمه السر:


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


[بيل @ لينوكس بوكس ​​~] $ ls -ld / usr / local / share / Music

drwxr-xr-x 2 جذر جذر 4096 2016-03-21 18:05 / usr / local / share / Music

[بيل @ لينوكس بوكس ​​~] $ ls -ld / usr / local / share / Music

drwxr-xr-x 2 جذر جذر 4096 2016-03-21 18:05 / usr / local / share / Music


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



[بيل @ لينوكس بوكس ​​~] $ sudo chown: الموسيقى / البيرة / المحلية / المشاركة / الموسيقى [بيل @ لينوكس بوكس ​​~] $ sudo chmod 775 / usr / local / share / الموسيقى [بيل @ لينوكس بوكس ​​~] $ ls -ld / usr / local / share / Music

drwxrwxr-x 2 موسيقى الجذر 4096 2016-03-21 18:05 / usr / local / share / Music

[بيل @ لينوكس بوكس ​​~] $ sudo chown: الموسيقى / البيرة / المحلية / المشاركة / الموسيقى [بيل @ لينوكس بوكس ​​~] $ sudo chmod 775 / usr / local / share / الموسيقى [بيل @ لينوكس بوكس ​​~] $ ls -ld / usr / local / share / Music

drwxrwxr-x 2 موسيقى الجذر 4096 2016-03-21 18:05 / usr / local / share / Music


اذن ما معنى كل ذلك؟ هذا يعني أن لدينا الآن دليلًا ،

/ usr / local / share / الموسيقى التي يملكها الجذر وتسمح بقراءة وكتابة الموسيقى الجماعية. تحتوي موسيقى المجموعة على فاتورة أعضاء وكارين ، وبالتالي يمكن لـ Bill and Karen إنشاء ملفات في الدليل / usr / local / share / Music. يمكن للمستخدمين الآخرين سرد محتويات الدليل ولكن لا يمكنهم إنشاء ملفات هناك.

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


[بيل @ لينوكس بوكس ​​~] $ > / usr / local / share / Music / test_file.> / usr / local / share / Music / test_file

[بيل @ لينوكس بوكس ​​~] $ ls -l / usr / local / share / Music

-rw-r - r-- فاتورة واحدة 1 0-2016-03 24:20 test_file

[بيل @ لينوكس بوكس ​​~] $ > / usr / local / share / Music / test_file.> / usr / local / share / Music / test_file

[بيل @ لينوكس بوكس ​​~] $ ls -l / usr / local / share / Music

-rw-r - r-- فاتورة واحدة 1 0-2016-03 24:20 test_file


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

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



[بيل @ لينوكس بوكس ​​~] $ sudo chmod g + s / usr / local / share / Music

[بيل @ لينوكس بوكس ​​~] $ sudo chmod g + s / usr / local / share / Music

ممارسة امتيازاتنا


[بيل @ لينوكس بوكس ​​~] $ ls -ld / usr / local / share / Music

drwxrwsr-x 2 root music 4096 2016-03-24 20:03 / usr / local / share / music

[بيل @ لينوكس بوكس ​​~] $ ls -ld / usr / local / share / Music

drwxrwsr-x 2 root music 4096 2016-03-24 20:03 / usr / local / share / music


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



[بيل @ لينوكس بوكس ​​~] $ اومسك 0002

[بيل @ لينوكس بوكس ​​~] $ rm / usr / local / share / موسيقى / test_file [بيل @ لينوكس بوكس ​​~] $ > / usr / local / share / Music / test_file.> / usr / local / share / Music / test_file [بيل @ لينوكس بوكس ​​~] $ mkdir / usr / local / share / Music / test_dir [بيل @ لينوكس بوكس ​​~] $ ls -l / usr / local / share / Music

drwxrwsr-x 2 بيل ميوزيك 4096 2016-03-24 20:24 test_dir

-rw-rw-r-- 1 فاتورة موسيقى 0 2016-03-24 20:22 test_file [bill @ linuxbox ~] $

[بيل @ لينوكس بوكس ​​~] $ اومسك 0002

[بيل @ لينوكس بوكس ​​~] $ rm / usr / local / share / موسيقى / test_file [بيل @ لينوكس بوكس ​​~] $ > / usr / local / share / Music / test_file.> / usr / local / share / Music / test_file [بيل @ لينوكس بوكس ​​~] $ mkdir / usr / local / share / Music / test_dir [بيل @ لينوكس بوكس ​​~] $ ls -l / usr / local / share / Music

drwxrwsr-x 2 بيل ميوزيك 4096 2016-03-24 20:24 test_dir

-rw-rw-r-- 1 فاتورة موسيقى 0 2016-03-24 20:22 test_file [bill @ linuxbox ~] $


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

القضية الوحيدة المتبقية هي Umask. يستمر الإعداد الضروري فقط حتى نهاية الجلسة ويجب إعادة ضبطه. في الفصل 11 ، سننظر في إجراء التغيير على Umask دائم.


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: