في المرة الأولى التي أغلقت فيها نفسي خارج ملف على خادم إنتاج، كنت أتبع برنامجًا تعليميًا يقول "؛ اضبطه على 600"؛ دون شرح ما يعنيه 600. لقد كتبت الأمر، ولم يعد البرنامج النصي للنشر قادرًا على قراءة الملف، وأمضيت عشرين دقيقة في معرفة أنني قمت بإزالة الوصول للقراءة الجماعية الذي تحتاجه عملية خادم الويب. لم يكن الرقم خاطئًا بالنسبة للمفتاح الخاص. لقد كان خطأ بالنسبة لهذا الملف، ولم يكن لدي أي حدس عن السبب، لأنني تعاملت مع الإذن باعتباره تعويذة سحرية وليس قيمة فهمتها.
تعد أذونات ملفات Unix واحدة من تلك المواضيع التي تبدو مخيفة وبسيطة بمجرد أن يرسم شخص ما الصورة. ثلاث فئات من المستخدمين، وثلاثة أنواع من الوصول، وكمية صغيرة من العمليات الحسابية التي تحول مربعات الاختيار إلى أرقام chmod يتوقع. المشكلة هي أن التمثيلين، الوضع الرقمي مثل 755 والوضع الرمزي مثل rwxr-xr-xلا تبدو متشابهًا، والتحول بينهما في رأسك هو مهارة لا يستمتع أحد بممارستها.
ال حاسبة CHMOD هل التحويل مناسب لك، والأكثر فائدة هو عرض طرق العرض الثلاثة في وقت واحد. قم بتبديل مربع الاختيار والرقم الثماني والسلسلة الرمزية والجاهز للتشغيل chmod اطلب التحديث معًا. إنها الأداة التي أتمنى لو حصلت عليها في اليوم الذي كسرت فيه هذا النشر، لأن رؤية الإذن من ثلاث زوايا في نفس الوقت هو ما يبني الحدس بأن رقمًا واحدًا لن يفعل ذلك أبدًا.
ليرة تركية؛DR: تغطي أذونات يونكس ثلاث فئات (المالك، المجموعة، وغيرها) بثلاث بتات لكل منها (قراءة=4، كتابة=2، تنفيذ=1). يضيف الوضع الرقمي مثل 755 تلك القيم لكل فئة؛ الوضع الرمزي مثل rwxr-xr-x يوضحها. تقوم هذه الآلة الحاسبة بالتحويل بين مربعات الاختيار الثماني والرمزية وrwx في الوقت الفعلي، وتتعامل مع البتات الخاصة setuid وsetgid واللزجة، وتولد أمر chmod الدقيق. يتم تشغيله بالكامل في متصفحك بدون تسجيل.
ما هي المشكلة التي تحلها حاسبة chmod؟
تكمن الصعوبة الأساسية في أن نفس الإذن له وجهان لا يشتركان في أي تشابه بصري. التوثيق و ls -l تظهر لك rwxr-xr-x. ال chmod الأمر يريد عادة 755. يتطلب التنقل بينهما تحويل كل مجموعة مكونة من ثلاثة أحرف إلى رقم عن طريق إضافة القراءة والكتابة والتنفيذ، والقيام بذلك بشكل موثوق تحت الضغط، على الخادم، مع وجود خطأ مطبعي بضغطة مفتاح واحدة بعيدًا عن القفل، هو بالضبط الوقت الذي يقوم فيه الشخص يرتكب الأخطاء.
الآلة الحاسبة تزيل العمليات الحسابية، وبنفس القدر من الأهمية، تزيل الغموض. عندما تستطيع أن ترى ذلك 755 يكون rwxr-xr-x هو "؛ المالك: القراءة والكتابة والتنفيذ؛ المجموعة وآخرون: القراءة والتنفيذ والاقتباس؛ يتوقف الإذن عن كونه رقمًا تحفظه ويصبح بيانًا يمكنك قراءته. هذا هو الفرق بين نسخ الوضع من البرنامج التعليمي ومعرفة ما إذا كان الوضع مناسبًا لملفك.
هناك زاوية أمان أيضًا. الأذونات هي واحدة من الأشياء القليلة التي يكون فيها لخطأ صغير عواقب كبيرة. تعيين مفتاح خاص ل 644 ويمكن لأي مستخدم على المربع قراءته. تعيين دليل الويب ل 777 ولقد سلمت حق الوصول للكتابة إلى العالم. الأداة التي توضح باللغة الإنجليزية البسيطة ما يسمح به الوضع، بجانب الرقم، هي فحص العقل الذي تقوم به قبل ارتكاب التغيير وليس بعد التسبب في وقوع حادث. نفس عقلية الخصوصية أولاً، الفهم قبل التصرف تمر عبر أدوات خصوصية البيانات عبر الإنترنت الدليل، وينطبق على الأذونات بقدر ما ينطبق على أي شيء تقوم بلصقه في النموذج.
كيف تعمل أذونات ملفات يونكس؟
يحمل كل ملف ودليل على نظام POSIX أذونات لثلاث فئات من المستخدمين. المالك هو الحساب الذي يملك الملف. المجموعة عبارة عن مجموعة مسماة من المستخدمين الذين يتشاركون مستوى الوصول. الآخرون هم الجميع على النظام. تحتوي كل فئة من هذه الفئات الثلاث على ثلاث بتات مستقلة: القراءة والكتابة والتنفيذ.
ما تعنيه هذه البتات يختلف قليلاً بين الملفات والأدلة، وهي تفاصيل تعرقل الأشخاص. في الملف، تتيح لك القراءة عرض المحتويات، وتتيح لك الكتابة تغييرها، ويتيح لك التنفيذ تشغيل الملف كبرنامج. في الدليل، تتيح لك القراءة سرد الإدخالات، وتتيح لك الكتابة إنشاء الإدخالات وحذفها بداخله، ويتيح لك التنفيذ إدخال الدليل والوصول إلى الملفات الموجودة بداخله بالاسم. ولهذا السبب يحتاج الدليل دائمًا تقريبًا إلى مجموعة بتات التنفيذ لأي فئة يجب أن تكون قادرة على استخدامها على الإطلاق، على الرغم من "؛ تنفيذ الدليل والاقتباس؛ يبدو غريبًا. تقوم الآلة الحاسبة بتعيين كل بت من البتات التسعة إلى مربع اختيار، حتى تتمكن من رؤية الصورة الكاملة في لمحة وتبديل الوصول الذي تنوي الوصول إليه بالضبط.
كيف يتم حساب أرقام الأذونات الثماني؟
هذه قطعة حسابية تستحق الفهم مرة واحدة، لأنه بعد ذلك تقرأ الأرقام نفسها. داخل كل فئة، القراءة تساوي 4، والكتابة تساوي 2، والتنفيذ يساوي 1. تم اختيار هذه القيم الثلاث لأنها قوى لاثنين، مما يعني أن كل مجموعة تضيف ما يصل إلى إجمالي فريد بين 0 و7. هنا هو التعيين الكامل.
| الرقم الثماني | ثنائي | رمزي | معنى |
|---|---|---|---|
| 7 | 111 | rwx | قراءة، كتابة، تنفيذ |
| 6 | 110 | رو- | اقرأ، اكتب |
| 5 | 101 | آر إكس | اقرأ، نفذ |
| 4 | 100 | ص-- | اقرأ فقط |
| 3 | 011 | -wx | اكتب، نفذ |
| 2 | 010 | -ث- | اكتب فقط |
| 1 | 001 | --x | تنفيذ فقط |
| 0 | 000 | --- | لا وصول |
الوضع الكامل هو ثلاثة من هذه الأرقام، في مالك الطلب، المجموعة، وغيرها. لذا 755 يقرأ كمالك 7 (قراءة، كتابة، تنفيذ)، المجموعة 5 (قراءة، تنفيذ)، أخرى 5 (قراءة، تنفيذ). تقوم الآلة الحاسبة بهذه الإضافة في كلا الاتجاهين: حدد المربعات وشاهد ظهور الرقم، أو اكتب الرقم وشاهد المربعات تملأ. إن القيام بذلك عدة مرات في الأداة هو الطريقة التي يتوقف بها الجدول أعلاه عن كونه شيئًا تبحث عنه ويصبح شيئًا تعرفه.
ماذا يعني chmod 755 وchmod 644؟
هذان هما الوضعان اللذان ستستخدمهما أكثر من أي وضع آخر، لذا فإنهما يستحقان الالتزام بالذاكرة، والآلة الحاسبة هي أسرع طريقة لمعرفة سبب كون كل منهما هو الوضع الافتراضي لمهمته.
chmod 755 يمنح المالك حق الوصول الكامل (القراءة والكتابة والتنفيذ) ويمنح المجموعة والآخرين القراءة والتنفيذ. إنه الوضع القياسي للأدلة والبرامج النصية أو البرامج التي يجب أن يكون الجميع قادرين على تشغيلها ولكن المالك فقط هو الذي يجب أن يكون قادرًا على تغييرها. بت التنفيذ على المجموعة والآخرين هو ما يتيح للمستخدمين الآخرين الدخول إلى الدليل أو تشغيل البرنامج النصي.
chmod 644 يمنح المالك القراءة والكتابة، ويمنح المجموعة والآخرين القراءة فقط، دون تنفيذ في أي مكان. إنه الوضع القياسي للملفات العادية مثل صفحات HTML والصور والتكوين الذي يجب أن يكون قابلاً للقراءة عالميًا والملفات المصدر، حيث يقوم المالك بالتحرير ويحتاج الجميع فقط إلى القراءة. لا يوجد سبب يجعل الملف النصي العادي قابلاً للتنفيذ، لذلك يترك 644 ملفًا نصيًا عاديًا.
النمط الذي يجب ملاحظته هو أن الدلائل والملفات التنفيذية تحصل على 755 بينما الملفات العادية تحصل على 644، والفرق الوحيد هو بت التنفيذ. رؤية هذين الوضعين جنبًا إلى جنب في الآلة الحاسبة، مع السلاسل الرمزية rwxr-xr-x و rw-r--r-- وفي الأسفل، يجعل العلاقة واضحة بطريقة لا يفعلها حفظ رقمين أبدًا.
ما هي البتات setuid وsetgid وsticky؟
بالإضافة إلى البتات القياسية التسعة، هناك ثلاث بتات خاصة، يتم تعيينها بواسطة رقم رابع اختياري في مقدمة الوضع، وهي المكان الذي تصبح فيه الأذونات دقيقة حقًا. تعرض الآلة الحاسبة كل منها كمربع اختيار خاص بها وتطوي النتيجة في كل من الرقم الثماني الرئيسي والسلسلة الرمزية، تمامًا كما ls -l يعرضهم.
تقوم بت setuid، الذي تبلغ قيمته 4 في الرقم الخاص، بتشغيل قابل للتنفيذ بامتيازات مالكه بدلاً من المستخدم الذي أطلقه. المثال الكلاسيكي هو passwd الأمر، الذي يحتاج إلى الكتابة إلى ملف نظام لا يمكن للمستخدمين العاديين لمسه. في القائمة الرمزية، يقوم setuid بتحويل المالك '؛s إلى تنفيذ الحرف sلذا 755 مع setuid يصبح rwsr-xr-x ويتم كتابة الوضع 4755.
بت setgid، الذي تبلغ قيمته 2، يفعل الشيء نفسه بالنسبة للمجموعة، وفي الدليل يفعل شيئًا إضافيًا: الملفات الجديدة التي تم إنشاؤها بالداخل ترث مجموعة الدليل '؛s بدلاً من المجموعة الأساسية المنشئ '؛s، وهو ما يحتاج مجلد المشروع المشترك. يظهر كما s في المجموعة '؛s تنفيذ الموقف.
البت الثابت، الذي تبلغ قيمته 1، ينطبق بشكل أساسي على الدلائل. عند التعيين، يمكن لمالك الملف '؛ فقط حذف هذا الملف أو إعادة تسميته داخل الدليل، حتى لو كان لدى الآخرين حق الوصول للكتابة إلى الدليل. هذا ما يبقى /tmp يمكن استخدامها كمساحة خدش مشتركة دون أن يتمكن المستخدمون من حذف ملفات بعضهم البعض '؛s. يظهر كما t في الآخرين '؛ تنفيذ الموقف، لذلك يوجد دليل درجة الحرارة القابل للكتابة عالميًا 1777، أو rwxrwxrwt. عند تعيين بت خاص ولكن بت التنفيذ الأساسي معطل، تتم كتابة الحرف بالأحرف الكبيرة S أو Tوتقوم الآلة الحاسبة بإعادة إنتاج ذلك تمامًا بحيث يتطابق مخرجاتها دائمًا مع القائمة الحقيقية.
ما الفرق بين الوضعين الرقمي والرمزي؟
كلاهما يصف نفس الأذونات؛ إنهما مجرد رمزين، ومعرفة متى يتم استخدام كل منهما يؤدي إلى حفظ الاحتكاك. الوضع الرقمي، الأرقام الثماني مثل 755، مضغوط ومطلق. فهو يضبط كل جزء في وقت واحد، ولهذا السبب فهو الشكل الذي تراه في معظم الأحيان chmod أمثلة وبرامج النشر النصية. الوضع الرمزي، الحروف مثل rwxr-xr-xما هو ls -l يطبع، فهو النموذج الذي تقرأه عند فحص النظام.
التدوين الرمزي له أيضًا شكل نسبي chmod يقبل ولا تحتاج الآلة الحاسبة إلى توليد ولكنها تستحق المعرفة chmod u+x file يضيف التنفيذ للمالك دون لمس أي شيء آخر، و chmod go-w file يزيل الكتابة من المجموعة وغيرها. هذا النموذج النسبي مفيد في سطر الأوامر عندما تريد تغيير بت واحد وترك الباقي وشأنه. تتعامل الآلة الحاسبة في الأوضاع المطلقة، وهو النموذج الصحيح عندما تقرر ما هو الملف '؛ يجب أن تكون الأذونات بدلاً من دفع بت واحد، وتمنحك الثماني للكتابة والرمزي للتحقق منه ls -l بعد ذلك. بالنسبة للسلوك الرسمي، مواصفات POSIX لـ chmod وبتات وضع الملف هي المرجع الأساسي.
كيف تحافظ الآلة الحاسبة على مزامنة كل طريقة عرض
مبدأ التصميم وراء الأداة هو أن هناك مصدرًا واحدًا للحقيقة، وهو مجموعة بتات الإذن، وكل تمثيل مشتق منها. قم بتبديل مربع الاختيار والوصف الثماني والرمزي والأمر والوصف الإنجليزي العادي، جميعها تعيد حسابها من نفس الحالة. اكتب قيمة ثماني أو رمزية صالحة وتحديث البتات، الذي يتدفق مرة أخرى إلى كل طريقة عرض أخرى. وهذا يعني أن الرموز الثلاثة لا يمكن أن تختلف أبدًا، وهذا هو الهدف الكامل: محول يمكن أن يظهر 755 بجانب السلسلة الرمزية الخاطئة سيكون أسوأ من إجراء العمليات الحسابية يدويًا.
الملخص باللغة الإنجليزية البسيطة هو الجزء الذي أجد نفسي أقرأه أكثر. فهو يوضح سطرًا واحدًا لكل فصل، بالضبط ما يسمح به الوضع الحالي، ويضع علامة على أي جزء خاص بالكلمات. قبل أن أطبق إذنًا على نظام حقيقي، هذه الجملة هي الشيك الذي يلتقط الفرق بين ما كتبته وما قصدته. الحفاظ على محول سريع وموثوق مثل هذا بجوار أدوات المطورين الأخرى التي أستخدمها، فإن محول base64 و ال مولد التجزئة من بينها، جزء من سير العمل الموصوف في أدوات إنتاجية المطور الدليل، والمجموعة الأوسع تعيش في دليل أدوات الترميز.
سير عمل سريع للحصول على الأذونات الصحيحة
وإليكم كيفية استخدام الأداة عمليًا. عندما يمنحني برنامج تعليمي أو رسالة خطأ وضعًا، أقوم بلصق الثماني في الآلة الحاسبة وأقرأ الملخص باللغة الإنجليزية البسيطة للتأكد من أنه يفعل ما يحتاجه السياق. عندما أقوم بتعيين الأذونات من الصفر، أبدأ من إعداد مسبق قريب مما أريد، 644 لملف أو 755 بالنسبة للدليل أو البرنامج النصي، قم بتبديل البتات الفردية وشاهد تحديث الوصف حتى يوضح بالضبط ما أنوي. ثم أقوم بنسخ ما تم إنشاؤه chmod الأمر وتشغيله. تستغرق الحلقة بأكملها ثوانٍ وقد منعتني من أكثر من قفل منذ أن توقفت عن التخمين عند الأرقام.
تغطي الإعدادات المسبقة الأوضاع التي تظهر يوميًا، وتوجد مربعات اختيار البتات الخاصة للحالات النادرة عندما تحتاج حقًا إلى setgid في دليل مشترك أو البت الثابت في مجلد مؤقت. إذا كنت تعمل أيضًا مع JSON وYAML وتنسيقات أخرى على نفس الخوادم، فإن منسق JSON و منسق CSS قم بتقريب مجموعة الأدوات المساعدة الصغيرة من جانب العميل التي تجعل العمل الروتيني أسرع.
الأسئلة المتداولة
ما هي آلة حاسبة chmod؟
تقوم حاسبة chmod بتحويل أذونات ملف Unix بين الأوضاع الثمانية الرقمية وسلاسل rwx الرمزية وإعدادات القراءة والكتابة والتنفيذ الفردية. فهو يمنحك أمر chmod الدقيق للأذونات التي تريدها بدون الرياضيات الثماني اليدوية.
ماذا يعني chmod 755؟
يمنح CHMOD 755 المالك القراءة والكتابة والتنفيذ (7)، والمجموعة والآخرون القراءة والتنفيذ (5 و5). إنه الوضع الشائع للبرامج النصية والأدلة: يمكن للمالك تغييرها، ويمكن لأي شخص آخر تشغيلها أو إدخالها ولكن لا يمكنه تعديلها.
ماذا يعني chmod 644؟
يمنح CHMOD 644 المالك القراءة والكتابة (6) والمجموعة والآخرين القراءة فقط (4 و4). إنه الوضع القياسي للملفات العادية التي يجب أن تكون قابلة للتحرير من قبل مالكها ويمكن قراءتها من قبل أي شخص آخر.
كيف يتم حساب أرقام الأذونات الثماني؟
كل فئة إذن عبارة عن رقم ثماني واحد تم إنشاؤه عن طريق إضافة القراءة (4) والكتابة (2) والتنفيذ (1). إذن 7 قراءة وكتابة وتنفيذ، 6 قراءة وكتابة، 5 قراءة وتنفيذ، و4 قراءة فقط. الأرقام الثلاثة هي المالك والمجموعة والآخرون بهذا الترتيب.
ما هي البتات setuid وsetgid واللزجة؟
وهي عبارة عن بتات إذن خاصة يتم تعيينها بواسطة رقم ثماني بادئ رابع. يقوم setuid (4) بتشغيل ملف بامتيازات المالك، ويقوم setgid (2) بتشغيله بامتيازات المجموعة أو مشاركة المجموعة في الدلائل، وتسمح البتة الثابتة (1) لمالك الملف فقط بحذفه داخل دليل مشترك.
ما الفرق بين الوضعين الرقمي والرمزي؟
يستخدم الوضع الرقمي أرقامًا ثماني مثل 755. يستخدم الوضع الرمزي أحرفًا مثل rwxr-xr-x، لمطابقة قائمة ls -l. يصفون نفس الأذونات؛ تقوم هذه الأداة بالتحويل بينهما حتى تتمكن من استخدام أي وثائق أو أمر متوقع.
هل تعمل حاسبة Chmod على الهاتف المحمول؟
نعم. الأداة سريعة الاستجابة وتعمل في أي متصفح حديث على الهواتف والأجهزة اللوحية وأجهزة الكمبيوتر المكتبية. التحويلات متطابقة بغض النظر عن الجهاز الذي تستخدمه.
هل حاسبة Chmod مجانية؟
نعم. إنه مجاني تمامًا بدون تسجيل ولا علامات مائية ولا حدود للاستخدام. تتم جميع التحويلات في متصفحك ولا يتم إرسال أي شيء إلى الخادم.



