xauth - Εργαλείο αρχείου εξουσιοδότησης X
ΣΥΝΤΑΞΗ
xauth [ -f authfile ] [ -vqibn ] [ εντολή όρισμα ... ]
ΠΕΡΙΓΡΑΦΗ
Το πρόγραμμα xauth χρησιμοποιείται για την επεξεργασία και την εμφάνιση των πληροφοριών εξουσιοδότησης που χρησιμοποιούνται για τη σύνδεση στον διακομιστή X. Αυτό το πρόγραμμα χρησιμοποιείται συνήθως για την εξαγωγή εγγραφών εξουσιοδότησης από μια μηχανή και την ενσωμάτωσή τους σε μια άλλη (όπως συμβαίνει κατά τη χρήση απομακρυσμένων συνδέσεων ή την παροχή πρόσβασης σε άλλους χρήστες). Οι εντολές (που περιγράφονται παρακάτω) μπορούν να εισαχθούν διαδραστικά, στη γραμμή εντολών xauth ή σε σενάρια. Σημειώστε ότι αυτό το πρόγραμμα δεν επικοινωνεί με τον διακομιστή X, εκτός εάν χρησιμοποιηθεί η εντολή generate. Συνήθως, το xauth δεν χρησιμοποιείται για τη δημιουργία της εγγραφής αρχείου εξουσιοδότησης στην αρχή. το πρόγραμμα που ξεκινά τον διακομιστή X (συνήθως 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
Μια εγγραφή εξουσιοδότησης για την υποδεικνυόμενη οθόνη χρησιμοποιώντας το δεδομένο πρωτόκολλο και κλειδί προστίθεται στο αρχείο εξουσιοδότησης. Τα δεδομένα καθορίζονται ως μια συμβολοσειρά ζυγού μήκους δεκαεξαδικών ψηφίων, κάθε ζεύγος αντιπροσωπεύει ένα οκτάλεπτο. Το πρώτο ψηφίο κάθε ζεύγους δίνει τα πιο σημαντικά 4 bit του οκταλέπτου και το δεύτερο ψηφίο του ζεύγους δίνει τα λιγότερο σημαντικά 4 bit. Για παράδειγμα, ένα κλειδί hex 32 χαρακτήρων θα αντιπροσώπευε μια τιμή 128 bit. Ένα όνομα πρωτοκόλλου που αποτελείται μόνο από μια τελεία αντιμετωπίζεται ως συντομογραφία για το MIT-MAGIC-COOKIE-1.
δημιουργεί displayname protocolname [έμπιστος|αξιόπιστος]
[χρόνος_λήξης δευτερόλεπτα] [ομάδα group-id] [δεδομένα hexdata]
Αυτή η εντολή είναι παρόμοια με την add. Η κύρια διαφορά είναι ότι αντί να απαιτεί από τον χρήστη να παρέχει τα δεδομένα κλειδιού, συνδέεται με τον διακομιστή που καθορίζεται στο displayname και χρησιμοποιεί την επέκταση SECURITY για να λάβει τα δεδομένα κλειδιού που θα αποθηκευτούν στο αρχείο εξουσιοδότησης. Εάν ο διακομιστής δεν μπορεί να επικοινωνήσει ή εάν δεν υποστηρίζει την επέκταση SECURITY, η εντολή αποτυγχάνει. Διαφορετικά, μια καταχώρηση εξουσιοδότησης για την υποδεικνυόμενη οθόνη χρησιμοποιώντας το δεδομένο πρωτόκολλο προστίθεται στο αρχείο εξουσιοδότησης. Ένα όνομα πρωτοκόλλου που αποτελείται μόνο από μια τελεία αντιμετωπίζεται ως συντομογραφία για το MIT-MAGIC-COOKIE-1.
Εάν χρησιμοποιηθεί η επιλογή έμπιστος, οι πελάτες που συνδέονται χρησιμοποιώντας αυτήν την εξουσιοδότηση θα έχουν πλήρη πρόσβαση στην οθόνη, όπως συνήθως. Εάν χρησιμοποιηθεί η επιλογή αξιόπιστος, οι πελάτες που συνδέονται χρησιμοποιώντας αυτήν την εξουσιοδότηση θα θεωρούνται μη αξιόπιστοι και θα τους απαγορεύεται να κλέβουν ή να παρεμβαίνουν σε δεδομένα που ανήκουν σε αξιόπιστους πελάτες. Δείτε την προδιαγραφή της επέκτασης SECURITY για πλήρεις λεπτομέρειες σχετικά με τους περιορισμούς που επιβάλλονται στους μη αξιόπιστους πελάτες. Η προεπιλογή είναι αξιόπιστος.
Η επιλογή χρόνος_λήξης καθορίζει πόσα δευτερόλεπτα θα είναι έγκυρη αυτή η εξουσιοδότηση. Εάν η εξουσιοδότηση παραμείνει αχρησιμοποίητη (δεν συνδέονται πελάτες με αυτήν) για περισσότερο από αυτό το χρονικό διάστημα, ο διακομιστής διαγράφει την εξουσιοδότηση και μελλοντικές προσπάθειες σύνδεσης με αυτήν θα αποτύχουν. Σημειώστε ότι η διαγραφή που εκτελεί ο διακομιστής δεν διαγράφει την καταχώρηση εξουσιοδότησης από το αρχείο εξουσιοδότησης. Η προεπιλογή για τον χρόνο λήξης είναι 60 δευτερόλεπτα.
Η επιλογή ομάδα καθορίζει την ομάδα εφαρμογών στην οποία θα ανήκουν οι πελάτες που συνδέονται με αυτήν την εξουσιοδότηση. Δείτε την προδιαγραφή της επέκτασης ομάδας εφαρμογών για περισσότερες λεπτομέρειες. Η προεπιλογή είναι να μην ανήκουν σε ομάδα εφαρμογών.
Η επιλογή δεδομένα καθορίζει δεδομένα που ο διακομιστής θα πρέπει να χρησιμοποιήσει για να δημιουργήσει την εξουσιοδότηση. Σημειώστε ότι αυτά δεν είναι τα ίδια δεδομένα που γράφονται στο αρχείο εξουσιοδότησης. Η ερμηνεία αυτών των δεδομένων εξαρτάται από το πρωτόκολλο εξουσιοδότησης. Τα hexdata έχουν την ίδια μορφή με το hexkey που περιγράφεται στην εντολή add. Η προεπιλογή είναι να μην αποστέλλονται δεδομένα.
[n]extract filename displayname...
Οι καταχωρήσεις εξουσιοδότησης για καθεμία από τις καθορισμένες οθόνες γράφονται στο υποδεικνυόμενο αρχείο. Εάν χρησιμοποιηθεί η εντολή nextract, οι καταχωρήσεις γράφονται σε αριθμητική μορφή κατάλληλη για μη δυαδική μετάδοση (όπως ασφαλής ηλεκτρονική αλληλογραφία). Οι εξαγόμενες καταχωρήσεις μπορούν να διαβαστούν ξανά χρησιμοποιώντας τις εντολές merge και nmerge. Εάν το όνομα αρχείου αποτελείται μόνο από μια παύλα, οι καταχωρήσεις θα γραφτούν στην τυπική έξοδο.
[n]list [displayname...]
Οι καταχωρήσεις εξουσιοδότησης για καθεμία από τις καθορισμένες οθόνες (ή για όλες, εάν δεν οριστούν οθόνες) εκτυπώνονται στην τυπική έξοδο. Εάν χρησιμοποιηθεί η εντολή nlist, οι καταχωρήσεις θα εμφανίζονται στην αριθμητική μορφή που χρησιμοποιείται από την εντολή nextract. διαφορετικά, εμφανίζονται σε μορφή κειμένου. Τα δεδομένα κλειδιού εμφανίζονται πάντα σε δεκαεξαδική μορφή, όπως δίνεται στην περιγραφή της εντολής add.
[n]merge [όνομα_αρχείου...]
Οι εγγραφές εξουσιοδότησης διαβάζονται από τα καθορισμένα αρχεία και συγχωνεύονται στη βάση δεδομένων εξουσιοδότησης, αντικαθιστώντας τυχόν υπάρχουσες εγγραφές που ταιριάζουν. Εάν χρησιμοποιηθεί η εντολή [n]merge, χρησιμοποιείται η αριθμητική μορφή που δίνεται στην περιγραφή της εντολής extract. Εάν ένα όνομα αρχείου αποτελείται μόνο από μια απλή παύλα, η τυπική είσοδος θα διαβαστεί εάν δεν έχει διαβαστεί προηγουμένως.
remove displayname...
Οι εγγραφές εξουσιοδότησης που ταιριάζουν με τις καθορισμένες οθόνες αφαιρούνται από το αρχείο εξουσιοδότησης.
source όνομα_αρχείου
Το καθορισμένο αρχείο αντιμετωπίζεται ως ένα σενάριο που περιέχει εντολές xauth για εκτέλεση. Οι κενές γραμμές και οι γραμμές που ξεκινούν με ένα σύμβολο εμπελού (#) αγνοούνται. Μια απλή παύλα μπορεί να χρησιμοποιηθεί για να υποδείξει την τυπική είσοδο, εάν δεν έχει διαβαστεί ήδη.
info Πληροφορίες που περιγράφουν το αρχείο εξουσιοδότησης, είτε έχουν γίνει αλλαγές είτε όχι και από πού διαβάζονται οι εντολές xauth, εκτυπώνονται στην τυπική έξοδο.
exit Εάν έχουν γίνει τροποποιήσεις, το αρχείο εξουσιοδότησης γράφεται (εάν επιτρέπεται) και το πρόγραμμα τερματίζεται. Ένα τέλος αρχείου αντιμετωπίζεται ως μια έμμεση εντολή εξόδου.
quit Το πρόγραμμα τερματίζεται, αγνοώντας τυχόν τροποποιήσεις. Αυτό μπορεί επίσης να επιτευχθεί πατώντας τον χαρακτήρα διακοπής.
version Αυτή η εντολή εμφανίζει τον αριθμό έκδοσης του εκτελέσιμου αρχείου xauth.
help [συμβολοσειρά]
Μια περιγραφή όλων των εντολών που ξεκινούν με την δεδομένη συμβολοσειρά (ή όλων των εντολών εάν δεν δοθεί συμβολοσειρά) εκτυπώνεται στην τυπική έξοδο.
? Μια σύντομη λίστα των έγκυρων εντολών εκτυπώνεται στην τυπική έξοδο.
ΟΝΟΜΑΤΑ ΟΘΟΝΗΣ
Τα ονόματα οθόνης για τις εντολές add, [n]extract, [n]list, [n]merge και remove χρησιμοποιούν την ίδια μορφή με τη μεταβλητή περιβάλλοντος DISPLAY και την κοινή παράμετρο γραμμής εντολών -display. Οι πληροφορίες που αφορούν συγκεκριμένες οθόνες (όπως ο αριθμός οθόνης) δεν είναι απαραίτητες και θα αγνοηθούν. Οι συνδέσεις στην ίδια μηχανή (όπως οι υποδοχές local-host, η κοινή μνήμη και το πρωτόκολλο διαδικτύου 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.
Αυτήν τη στιγμή δεν επιτρέπονται κενά στο όνομα του πρωτοκόλλου. Θα μπορούσε να προστεθεί η χρήση εισαγωγικών για τους πραγματικά εκκεντρικούς.
ΣΥΓΓΡΑΦΕΑΣ
Jim Fulton, MIT X Consortium