حاسبة Linux Umask
احسب قيم umask في Linux واستعرض الأذونات الافتراضية الناتجة للملفات والمجلدات الجديدة. يدعم إدخال ثماني وإعدادات مسبقة وإخراج رمزي.
الإدخال
الإخراج
ملف القراءة
ما هو umask؟
umask (قناع وضع إنشاء ملفات المستخدم) هو إعداد في Linux و Unix يتحكم في الأذونات الافتراضية المعينة للملفات والمجلدات المُنشأة حديثاً. بدلاً من تعيين الأذونات مباشرة، يحدد umask أي بتات الأذونات يجب إزالتها من الإعدادات الافتراضية للنظام عند إنشاء ملف أو مجلد جديد.
يبدأ النظام بأذونات أساسية قدرها 666 (قراءة وكتابة للجميع) للملفات و 777 (قراءة وكتابة وتنفيذ للجميع) للمجلدات. يتم بعد ذلك طرح umask بشكل ثنائي من هذه الإعدادات الافتراضية باستخدام عملية AND-NOT منطقية، مما ينتج عنه الأذونات النهائية. على سبيل المثال، مع umask قدره 022، تنتهي الملفات الجديدة بـ 644 والمجلدات الجديدة بـ 755.
يتوافق كل رقم في umask مع فئة أذونات: الرقم الأول يؤثر على المالك، والثاني على المجموعة، والثالث على الآخرين. رقم 0 يعني عدم إخفاء أي أذونات، بينما 7 يزيل جميع الأذونات لتلك الفئة.
وصف الأداة
تحول أداة حاسبة umask في Linux قيمة umask وأذونات أساسية إلى الأذونات الفعلية الناتجة بكل من الترميز الثماني والترميز الرمزي. كما تُنشئ أمر shell umask الدقيق، مما يساعد مسؤولي الأنظمة والمطورين ومهندسي DevOps على معاينة نتيجة أي umask قبل تطبيقه على shell أو script أو إعدادات النظام.
أمثلة
| Umask | Base | الثماني الناتج | الرمزي |
|---|---|---|---|
| 022 | 666 | 644 | rw-r--r-- |
| 022 | 777 | 755 | rwxr-xr-x |
| 077 | 666 | 600 | rw------- |
| 027 | 777 | 750 | rwxr-x--- |
| 002 | 666 | 664 | rw-rw-r-- |
الميزات
- حساب الأذونات الثمانية والرمزية الناتجة من أي umask
- دعم قيم umask ثلاثية الأرقام ورباعية الأرقام (مع بت الـ sticky/setuid الأول)
- إعدادات umask الشائعة (022, 027, 077, 002, 007, 000)
- إعدادات الأذونات الأساسية للملفات (666) والمجلدات (777)
- إنشاء أمر shell
umaskجاهز للاستخدام
حالات الاستخدام
- تقسية الخادم: معاينة umask أكثر صرامة مثل
077قبل إضافته إلى/etc/profileأو إعدادات shell المستخدم للتأكد من أن الملفات الجديدة خاصة. - بيئات التطوير المشتركة: التحقق من أن
002أو007ينتج ملفات قابلة للكتابة من قبل المجموعة لمجلدات المشاريع التعاونية. - scripts النشر: تأكيد أن umask المستخدم في خطوط أنابيب CI/CD أو نقاط دخول الحاويات سينتج عنه الأذونات المتوقعة لسجلات التطبيق والأصول المرفوعة.
كيفية العمل
يتم حساب الأذن النهائية لكل فئة (المالك والمجموعة والآخرين) باستخدام الصيغة:
final = base AND (NOT umask)يتم معالجة كل رقم ثماني بشكل مستقل. لرقم umask قدره 2 (ثنائي 010) ورقم أساسي قدره 6 (ثنائي 110)، النتيجة هي 110 AND NOT 010 = 100، وهو ما يساوي 4 (قراءة فقط). يتحكم الرقم الأول من umask رباعي الأرقام في البتات الخاصة (setuid و setgid و sticky) ويتم تجاهله في حساب الأذونات القياسي.
نصائح
- استخدم
666كأساس لرؤية الأذونات للملفات الجديدة، و777للمجلدات الجديدة. - umask قدره
000يعني عدم إزالة أي أذونات — مفيد فقط في البيئات المعزولة والمتحكم فيها بإحكام. - لجعل umask دائماً، أضف الأمر المُنشأ إلى
~/.bashrcأو~/.profileأو/etc/profileحسب النطاق الذي تريده.