xauth - أداة ملف صلاحيات X
ملخص
xauth [ -f authfile ] [ -vqibn ] [ command arg ... ]
الوصف
يستخدم برنامج xauth لتحرير وعرض معلومات التفويض المستخدمة في الاتصال
بـ X server. عادةً ما يتم استخدام هذا البرنامج لاستخراج سجلات التفويض من جهاز واحد و
دمجها في جهاز آخر (كما هو الحال عند استخدام تسجيلات الدخول عن بُعد أو منح الوصول لمستخدمين آخرين). يمكن إدخال الأوامر (الموضحة أدناه) بشكل تفاعلي، أو على سطر أوامر xauth، أو
في البرامج النصية. لاحظ أن هذا البرنامج لا يتصل بـ X server إلا عند استخدام الأمر generate. عادةً ما لا يتم استخدام xauth لإنشاء إدخال ملف الصلاحية في المقام الأول؛
البرنامج الذي يبدأ X server (غالبًا xdm أو startx) يفعل ذلك.
الخيارات
يمكن استخدام الخيارات التالية مع xauth. يمكن إعطاؤها بشكل فردي (على سبيل المثال، -q -i) أو
يمكن دمجها (على سبيل المثال، -qi).
-f authfile
يحدد هذا الخيار اسم ملف الصلاحية المراد استخدامه. افتراضيًا، سيستخدم xauth الملف المحدد بواسطة متغير البيئة XAUTHORITY أو .Xauthority في دليل المستخدم الرئيسي.
-q هذا الخيار يشير إلى أن xauth يجب أن تعمل بصمت وألا تطبع رسائل حالة غير مرغوب فيها. هذا هو الافتراضي إذا تم إعطاء أمر xauth على سطر الأوامر أو إذا كان الإخراج القياسي غير موجه إلى جهاز طرفي.
-v هذا الخيار يشير إلى أن xauth يجب أن تعمل بإسهاب وتطبع رسائل حالة تشير إلى نتائج العمليات المختلفة (على سبيل المثال، عدد السجلات التي تمت قراءتها أو
كتابتها). هذا هو الافتراضي إذا كان xauth يقرأ الأوامر من الإدخال القياسي الخاص به وإذا كان الإخراج القياسي الخاص به موجهًا إلى جهاز طرفي.
-i هذا الخيار يشير إلى أن xauth يجب أن تتجاهل أي أقفال لملف الصلاحية. عادةً، xauth
سوف ترفض قراءة أو تعديل أي ملفات صلاحية تم تأمينها بواسطة برامج أخرى
(عادةً xdm أو xauth آخر).
-b هذا الخيار يشير إلى أن xauth يجب أن تحاول كسر أي أقفال لملف الصلاحية قبل
المتابعة. استخدم هذا الخيار فقط لتنظيف الأقفال القديمة.
-n هذا الخيار يشير إلى أن xauth يجب ألا تحاول حل أي أسماء مضيفين، ولكن يجب
أن تطبع دائمًا عنوان المضيف المخزن في ملف الصلاحية.
-V هذا الخيار يعرض رقم إصدار xauth القابل للتنفيذ.
الأوامر
يمكن استخدام الأوامر التالية لمعالجة ملفات الصلاحية:
add displayname protocolname hexkey
يتم إضافة إدخال تفويض للشاشة المحددة باستخدام البروتوكول والمفتاح المقدمين إلى ملف الصلاحية. يتم تحديد البيانات كسلسلة ذات طول زوجي من الأرقام الست عشرية، حيث يمثل كل زوج بايتًا واحدًا. يمثل الرقم الأول من كل زوج الأربعة بتات الأكثر أهمية من البايت، ويمثل الرقم الثاني من الزوج الأربعة بتات الأقل أهمية. على سبيل المثال، سيمثل مفتاح hex بطول 32 حرفًا قيمة 128 بت. يتم التعامل مع اسم البروتوكول الذي يتكون من نقطة واحدة فقط على أنه اختصار لـ MIT-MAGIC-COOKIE-1.
إنشاء اسم_العرض بروتوكول_الاسم [موثوق به|غير موثوق به]
[المهلة ثواني] [المجموعة معرف_المجموعة] [البيانات بيانات_سداسية_عشرية]
هذا الأمر مشابه للأمر "إضافة". الفرق الرئيسي هو أنه بدلاً من مطالبة المستخدم بتوفير بيانات المفتاح، فإنه يتصل بالخادم المحدد في "اسم_العرض" ويستخدم امتداد "الأمان" للحصول على بيانات المفتاح لتخزينها في ملف التفويض. إذا تعذر الاتصال بالخادم أو إذا كان لا يدعم امتداد "الأمان"، فسيفشل الأمر. بخلاف ذلك، تتم إضافة إدخال تفويض للعرض المحدد باستخدام البروتوكول المحدد إلى ملف التفويض. يتم التعامل مع اسم البروتوكول الذي يتكون من نقطة واحدة على أنه اختصار لـ MIT-MAGIC-COOKIE-1.
إذا تم استخدام خيار "موثوق به"، فسيكون لدى العملاء الذين يتصلون باستخدام هذا التفويض حرية كاملة في العرض، كما هو معتاد. إذا تم استخدام خيار "غير موثوق به"، فسيتم اعتبار العملاء الذين يتصلون باستخدام هذا التفويض عملاء غير موثوق بهم ويتم منعهم من سرقة أو التلاعب بالبيانات التي تخص العملاء الموثوق بهم. انظر إلى مواصفات امتداد "الأمان" للحصول على تفاصيل كاملة حول القيود المفروضة على العملاء غير الموثوق بهم. الإعداد الافتراضي هو "غير موثوق به".
يحدد خيار "المهلة" المدة بالثواني التي سيكون هذا التفويض صالحًا خلالها. إذا ظل التفويض غير مستخدم (لا يوجد عملاء متصلون به) لفترة أطول من هذه الفترة الزمنية، فسيقوم الخادم بإلغاء التفويض، وستفشل محاولات الاتصال المستقبلية باستخدام هذا التفويض. لاحظ أن الإلغاء الذي يقوم به الخادم لا يحذف إدخال التفويض من ملف التفويض. المهلة الافتراضية هي 60 ثانية.
يحدد خيار "المجموعة" مجموعة التطبيقات التي يجب أن ينتمي إليها العملاء الذين يتصلون بهذا التفويض. انظر إلى مواصفات امتداد "مجموعة التطبيقات" لمزيد من التفاصيل. الإعداد الافتراضي هو عدم الانتماء إلى مجموعة تطبيقات.
يحدد خيار "البيانات" البيانات التي يجب على الخادم استخدامها لإنشاء التفويض. لاحظ أن هذه ليست هي نفس البيانات التي يتم كتابتها في ملف التفويض. يعتمد تفسير هذه البيانات على بروتوكول التفويض. البيانات السداسية العشرية لها نفس التنسيق مثل "المفتاح السداسي العشري" الموصوف في الأمر "إضافة". الإعداد الافتراضي هو عدم إرسال أي بيانات.
[nاستخراج] اسم_الملف اسم_العرض...
يتم كتابة إدخالات التفويض لكل من العروض المحددة في الملف المحدد. إذا تم استخدام الأمر "nاستخراج"، فستتم كتابة الإدخالات بتنسيق رقمي مناسب للإرسال غير الثنائي (مثل البريد الإلكتروني الآمن). يمكن قراءة الإدخالات المستخرجة مرة أخرى باستخدام الأوامر "دمج" و "nدمج". إذا كان اسم الملف عبارة عن شرطة واحدة فقط، فسيتم كتابة الإدخالات إلى الإخراج القياسي.
[n]list [displayname...]
تتم طباعة إدخالات التفويض لكل من الشاشات المحددة (أو كلها إذا لم يتم تحديد أي شاشات) على الإخراج القياسي. إذا تم استخدام الأمر nlist، فسيتم عرض الإدخالات بتنسيق رقمي كما هو مستخدم في الأمر nextract؛ وإلا، فسيتم عرضها بتنسيق نصي. يتم دائمًا عرض البيانات الرئيسية بتنسيق سداسي عشري كما هو موضح في وصف الأمر add.
[n]merge [filename...]
تتم قراءة إدخالات التفويض من الملفات المحددة ويتم دمجها في قاعدة بيانات التفويض، مع استبدال أي إدخالات موجودة مماثلة. إذا تم استخدام الأمر nmerge، فسيتم استخدام التنسيق الرقمي المعطى في وصف الأمر extract. إذا كان اسم الملف عبارة عن شرطة واحدة فقط، فسيتم قراءة الإدخال القياسي إذا لم تتم قراءته من قبل.
remove displayname...
تتم إزالة إدخالات التفويض التي تطابق الشاشات المحددة من ملف التفويض.
source filename
يتم التعامل مع الملف المحدد على أنه برنامج نصي يحتوي على أوامر xauth لتنفيذها. يتم تجاهل الأسطر الفارغة والأسطر التي تبدأ بعلامة (#). يمكن استخدام شرطة واحدة للإشارة إلى الإدخال القياسي، إذا لم تتم قراءته بالفعل.
info معلومات تصف ملف التفويض، سواء تم إجراء أي تغييرات أم لا، ومن أين يتم قراءة أوامر xauth، ويتم طباعتها على الإخراج القياسي.
exit إذا تم إجراء أي تعديلات، فسيتم كتابة ملف التفويض (إذا كان مسموحًا بذلك)، ويخرج البرنامج. يتم التعامل مع نهاية الملف كأمر خروج ضمني.
quit يخرج البرنامج، مع تجاهل أي تعديلات. يمكن أيضًا تحقيق ذلك بالضغط على حرف المقاطعة.
version يعرض هذا الأمر رقم إصدار برنامج xauth القابل للتنفيذ.
help [string] يتم طباعة وصف لجميع الأوامر التي تبدأ بالكلمة المعطاة (أو جميع الأوامر إذا لم يتم إعطاء كلمة) على الإخراج القياسي.
? تتم طباعة قائمة مختصرة بالأوامر الصالحة على الإخراج القياسي.
أسماء الشاشات
تستخدم أسماء الشاشات لأوامر add و [n]extract و [n]list و [n]merge و remove نفس التنسيق المستخدم في متغير البيئة DISPLAY وفي وسيطة سطر الأوامر الشائعة -display. معلومات خاصة بالشاشة (مثل رقم الشاشة) غير ضرورية وسيتم تجاهلها. يتم الإشارة إلى الاتصالات الخاصة بنفس الجهاز (مثل مقابس المضيف المحلي والذاكرة المشتركة وبروتوكول الإنترنت hostname localhost) على أنها hostname/unix:displaynumber بحيث يمكن تخزين الإدخالات المحلية لأجهزة مختلفة في ملف تفويض واحد.
مثال
الاستخدام الأكثر شيوعًا لـ xauth هو استخراج الإدخال للشاشة الحالية، ونسخه إلى جهاز آخر، ودمجه في ملف تفويض المستخدم على الجهاز البعيد:
% xauth extract - $DISPLAY | ssh otherhost xauth merge
يعطي الأمر التالي الأمر لعامل التشغيل :0 لإنشاء تفويض باستخدام بروتوكول MIT-MAGICCOOKIE-1. سيتم اعتبار العملاء الذين يتصلون بهذا التفويض غير موثوق بهم. % xauth generate :0 .
البيئة
يستخدم برنامج xauth هذا متغيرات البيئة التالية:
XAUTHORITY
للحصول على اسم ملف الترخيص الذي سيتم استخدامه إذا لم يتم استخدام الخيار -f.
HOME للحصول على دليل المستخدم الرئيسي إذا لم يتم تعريف XAUTHORITY.
الملفات
$HOME/.Xauthority
ملف الترخيص الافتراضي إذا لم يتم تعريف XAUTHORITY.
انظر أيضًا
X(7)، Xsecurity(7)، xhost(1)، Xserver(1)، xdm(1)، startx(1)، Xau(3).
الأخطاء
يجب على المستخدمين الذين لديهم شبكات غير آمنة توخي الحذر لاستخدام آليات نقل الملفات المشفرة لنسخ إدخالات التفويض بين الأجهزة. وبالمثل، فإن بروتوكول MIT-MAGIC-COOKIE-1 ليس مفيدًا جدًا في البيئات غير الآمنة. قد تحتاج المواقع المهتمة بالأمان الإضافي إلى استخدام آليات ترخيص مشفرة مثل Kerberos.
لا يُسمح حاليًا باستخدام المسافات في اسم البروتوكول. يمكن إضافة اقتباسات للمستخدمين الملتوين حقًا.
المؤلف
جيم فولتون، اتحاد MIT X.