ذكري المظهر

قيادة Umask في لينكس

Euro truck simulator 2 - لعبة يورو تراك سميلاتور

Euro truck simulator 2 - لعبة يورو تراك سميلاتور

جدول المحتويات:

Anonim

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

يتم استخدامه بواسطة mkdir و touch و tee والأوامر الأخرى التي تنشئ ملفات وأدلة جديدة.

أذونات لينكس

قبل المضي قدمًا ، دعنا نشرح قريبًا نموذج أذونات Linux.

في نظام Linux ، يرتبط كل ملف بمالك ومجموعة ويتم تعيين حقوق إذن الوصول لثلاثة فئات مختلفة من المستخدمين:

  • مالك الملف. أعضاء المجموعة. الجميع.

هناك ثلاثة أنواع أذونات تنطبق على كل فصل:

  • إذن القراءة. كتابة إذن. تنفيذ إذن.

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

لعرض أذونات الملف ، استخدم الأمر ls :

ls -l dirname

drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type

يمثل الحرف الأول نوع الملف الذي يمكن أن يكون ملفًا عاديًا ( - ) أو دليل ( d ) أو رابط رمزي ( l ) أو أي نوع خاص آخر من الملفات.

الأحرف التسعة التالية تمثل الأذونات ، ثلاث مجموعات من ثلاثة أحرف لكل منهما. تُظهر المجموعات الأولى أذونات المالك ، بينما تُظهر أذونات المجموعة الثانية والمجموعة الأخيرة أذونات الجميع.

الحرف r مع قيمة ثماني من 4 لتقف على القراءة ، w مع قيمة ثماني 2 للكتابة ، x مع قيمة ثماني من 1 لتنفيذ إذن و ( - ) مع قيمة ثماني من 0 لعدم وجود أذونات.

هناك أيضًا ثلاثة أنواع أخرى من أذونات الملفات: setuid و setgid و Sticky Bit .

في المثال أعلاه ( rwxr-xr-x ) يعني أن المالك قد قرأ أذونات الكتابة ( rwx ) rwxr-xr-x وقد قرأت المجموعة وغيرها أذونات وتنفيذها.

إذا كنا نمثل أذونات الملف باستخدام تدوين رقمي ، فسنصل إلى الرقم 755 :

  • المالك: rwx = 4+2+1 = 7 المجموعة: rx = 4+0+1 = 5 أخرى: rx = 4+0+1 = 5

عند تمثيلها بترميز رقمي ، يمكن أن يكون للأذونات ثلاثة أو أربعة أرقام ثمانية (0-7). يمثل الرقم الأول الأذونات الخاصة ، وإذا تم حذفها ، فهذا يعني أنه لم يتم تعيين أذونات خاصة على الملف. في حالتنا 755 هو نفس 0755 . يمكن أن يكون الرقم الأول عبارة عن مزيج من 4 لـ setuid و 2 لـ setgid و 1 للـ Sticky Bit .

يمكن تغيير أذونات الملفات باستخدام الأمر chmod والملكية باستخدام الأمر chown .

فهم umask

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

يمكن تعديل أذونات الإنشاء الافتراضية باستخدام الأداة المساعدة umask .

umask يؤثر فقط على البيئة الحالية قذيفة. في معظم توزيعات Linux ، يتم تعيين قيمة umask الافتراضية على مستوى النظام في ملف pam_umask.so أو /etc/profile .

لعرض قيمة القناع الحالية ، ببساطة اكتب umask دون أي وسيطات:

umask

سوف تشمل الإخراج

022

تحتوي قيمة umask على بتات الإذن التي لن يتم تعيينها على الملفات والدلائل التي تم إنشاؤها حديثًا.

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

على سبيل المثال ، لحساب كيفية تأثير uname 022 على الملفات والدلائل التي تم إنشاؤها حديثًا ، استخدم:

  • الملفات: 666 - 022 = 644 . يمكن للمالك قراءة وتعديل الملفات. يمكن للمجموعة وغيرهم قراءة الملفات فقط. الدلائل: 777 - 022 = 755 755. يمكن للمالك القرص المضغوط في الدليل وقائمة الملفات أو تعديلها أو إنشائها أو حذفها في الدليل. المجموعة وغيرها يمكن أن cd في الدليل وقائمة وقراءة الملفات.

يمكنك أيضًا عرض قيمة القناع بالترميز الرمزي باستخدام الخيار -S :

umask -S

u=rwx, g=rx, o=rx

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

تحديد قيمة القناع

يمكن تعيين قناع إنشاء الملف باستخدام تدوين ثماني أو رمزي. لجعل التغييرات دائمة ، قم بتعيين قيمة umask الجديدة في ملف التكوين العام مثل /etc/profile والذي سيؤثر على جميع المستخدمين أو في ملفات تهيئة shell للمستخدم مثل ~/.profile ، ~/.bashrc أو ~/.zshrc والتي سوف تؤثر فقط على المستخدم. ملفات المستخدم لها الأسبقية على الملفات العمومية.

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

لنفترض أننا نريد تعيين أذونات أكثر تقييدًا للملفات والدلائل التي تم إنشاؤها حديثًا حتى لا يتمكن الآخرون من cd إلى الأدلة وقراءة الملفات. الأذونات التي نريدها هي 750 640 و 640 للملفات.

لحساب قيمة umask ببساطة بطرح الأذونات المطلوبة من القيمة الافتراضية:

قيمة 777-750 = 027 : 777-750 = 027

قيمة umask المطلوبة ممثلة في التدوين الرقمي هي 027 .

لتعيين القيمة الجديدة على مستوى النظام بشكل دائم ، افتح /etc/profile مع محرر النصوص الخاص بك:

sudo nano /etc/profile

وتغيير أو إضافة السطر التالي في بداية الملف:

/ الخ / صورة

umask 027

لتصبح التغييرات نافذة المفعول ، قم بتشغيل الأمر source التالي أو تسجيل الخروج وتسجيل الدخول:

source /etc/profile

للتحقق من الإعدادات الجديدة ، سنقوم بإنشاء ملف ودليل واحد جديد باستخدام mkdir touch :

mkdir newdir touch newfile

drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile

هناك طريقة أخرى لتعيين قناع إنشاء الملف باستخدام الرمز الرمزي. على سبيل المثال umask u=rwx, g=rx, o= هو نفس umask 027 .

استنتاج

في هذا الدليل ، شرحنا أذونات Linux وكيفية استخدام أمر umask لتعيين بتات الأذونات للملفات أو الدلائل المنشأة حديثًا.

لمزيد من المعلومات اكتب man umask في محطة الخاص بك.

محطة umask