الذي الكود هو مجموعة / الخ / باسود المخزنة في؟ يمكن أن يكون UTF-8؟ ما هي الحدود التي يتم وضعها على أسماء المستخدمين؟
-
05-07-2019 - |
سؤال
في نظام يونكس أو لينكس الحديث، كيف يمكنك معرفة أي كود تعيين /etc/passwd
أسماء مخازن ملف المستخدم في؟ وأسماء المستخدمين سمحت لاحتواء أحرف معلمة (من مجموعة 0x80..0xFF في، مثلا، ISO 8859-1 أو 8859-15)؟ يمكن للملف /etc/passwd
يحتوي UTF-8؟ يمكن أن أقول لكم أنه يحتوي على UTF-8؟ ماذا عن نص عادي كلمات السر قبل أنها مشفرة أو تجزئته؟
من الواضح، إذا كانت أسماء المستخدمين وبيانات أخرى يقتصر على مجموعة 0x00..0x7F (ويستثني 0x00 على أي حال)، ثم ليس هناك فرق بين UTF-8، 8859-1 أو 8859-15. الأحرف الحاضر يتم ترميز كل نفس.
وأيضا، أنا باستخدام /etc/passwd
كاختصار لشيء على غرار "للتعرف على هوية المستخدم وقاعدة بيانات التوثيق (وهو ما يسمى أحيانا خدمة الدليل) على جهاز يونيكس القائم، الوصول إليها عادة عن طريق PAM وأحيانا استضافتها على أجهزة أخرى تماما من واحد المحلي، ولكن في بعض الأحيان لا يزال في الواقع ملف على القرص الثابت المحلي، ودعا تقليديا /etc/passwd
، وغالبا ما تدعمها /etc/shadow
". أفترض أيضا أن الأسئلة تعادل حول قاعدة البيانات مجموعة (غالبا ما يكون ملف /etc/group
) لها نفس الجواب.
المحلول
والأمر كله ASCII. لكن كلمة المرور نفسها يتم تخزين أبدا - فقط نتائج في اتجاه واحد التجزئة. إذا كنت أتساءل ما الأحرف يمكن أن يكون في كلمة المرور نفسها، فإنه يعتمد على اللغة، والتي سوف تحد من الأحرف المحطة الطرفية غير قادرة على التعامل معها. انظر "لغة رجل"
"/ الخ / باسود ملف ASCII كلمة ..."
وأما بالنسبة للأسماء، استطيع ان اقول لكم ان سولاريس يدعم فقط ASCII. لا أستطيع أن أتكلم عن الآخرين يونكس داخلي.
و"ليس 7can لها كل كائن في سولاريس 2 و سولاريس أسماء تتألف من الأحرف العشوائية. <وأ href =" http://docs.oracle.com/cd/E23824_01/html/821-1474/attributes-5.html #scrolltoc "يختلط =" نوفولو noreferrer "عنوان =" سمات (5) - سولاريس 11 رجل صفحات القسم 5: المعايير والبيئات، وحدات الماكرو "> يجب أن تتكون أسماء الكائنات التالية من أحرف ASCII:
* User names, group name, and passwords
* System name ...
"