Πώς να προσθέσετε έναν χρήστη στο αρχείο Sudoers στο Mac OS X
Πίνακας περιεχομένων:
Οι προχωρημένοι χρήστες μπορεί να χρειαστεί να προσθέσουν έναν λογαριασμό χρήστη στο αρχείο sudoers, ο οποίος επιτρέπει σε αυτόν τον χρήστη να εκτελεί ορισμένες εντολές με δικαιώματα root.
Για να απλοποιηθεί σημαντικά αυτό που σημαίνει, αυτοί οι νέοι προνομιούχοι λογαριασμοί χρηστών θα μπορούν στη συνέχεια να εκτελούν εντολές χωρίς να λαμβάνουν σφάλματα άρνησης άδειας ή να χρειάζεται να επιθέσουν μια εντολή τερματικού με το sudo. Αυτό μπορεί να είναι χρήσιμο (ή απαραίτητο) για ορισμένες περίπλοκες καταστάσεις, αλλά ενέχει κίνδυνο ασφάλειας για άλλες, επομένως αυτό δεν είναι κάτι που πρέπει να αλλάξει τυχαία.
Γενικά, οι περισσότεροι χρήστες είναι προτιμότερο να χρησιμοποιούν λογαριασμό διαχειριστή, να χρησιμοποιούν sudo με βάση την εντολή ή να ενεργοποιούν τον χρήστη root. Ωστόσο, η άμεση τροποποίηση των sudoers έχει πολλές καταστάσεις χρήσης για προχωρημένα άτομα με εις βάθος γνώση της γραμμής εντολών και είναι για αυτές τις πιο περίπλοκες καταστάσεις που θα επικεντρωθούμε στην προσαρμογή του αρχείου sudoers όπως περιγράφεται εδώ.
Το αρχείο sudoers βρίσκεται στο /etc/sudoers αλλά, σε αντίθεση με το /etc/hosts και πολλά άλλα αρχεία διαμόρφωσης συστήματος, δεν θέλετε να κατευθύνετε ένα γενικό πρόγραμμα επεξεργασίας κειμένου στο αρχείο για να το τροποποιήσετε. Αντίθετα, θα θέλετε να χρησιμοποιήσετε μια συγκεκριμένη εντολή που ονομάζεται «visudo», η οποία επιβεβαιώνει τη σωστή σύνταξη πριν από την αποθήκευση του εγγράφου.
Σημαντικό: Η προσαρμογή των sudoers δεν προορίζεται για τους περισσότερους χρήστες Mac OS X. Μόνο οι προχωρημένοι χρήστες που έχουν επιτακτικό λόγο να το κάνουν θα πρέπει ποτέ να τροποποιήσουν το αρχείο sudoers. Εάν δεν ξέρετε τι κάνετε και γιατί το κάνετε, μην επεξεργαστείτε το αρχείο sudoers και μην προσθέσετε χρήστες στο αρχείο sudoers.Μπορεί να αποτελεί κίνδυνο για την ασφάλεια ή μπορεί να σπάσετε κάτι.
Προσθήκη χρήστη στο Sudoers στο Mac OS X
Η προσθήκη χρηστών στα sudoers απαιτεί τη χρήση του vi, το οποίο μπορεί να προκαλέσει σύγχυση αν δεν το έχετε συνηθίσει. Για άγνωστους, θα περιγράψουμε τις ακριβείς ακολουθίες εντολών κλειδιών για επεξεργασία, εισαγωγή και αποθήκευση του αρχείου σε vi, ακολουθήστε προσεκτικά τις οδηγίες.
- Εκκίνηση Terminal και πληκτρολογήστε την ακόλουθη εντολή:
- Χρησιμοποιήστε τα πλήκτρα βέλους για να πλοηγηθείτε προς τα κάτω στην ενότητα "User privilege specification", θα πρέπει να μοιάζει με αυτό:
- Βάλτε τον κέρσορα στην επόμενη κενή γραμμή κάτω από την καταχώριση %admin και, στη συνέχεια, πατήστε το πλήκτρο «A» για να εισαγάγετε κείμενο και, στη συνέχεια, πληκτρολογήστε τα ακόλουθα σε μια νέα γραμμή, αντικαθιστώντας το «όνομα χρήστη» με το σύντομο όνομα χρήστη όνομα του λογαριασμού στον οποίο θέλετε να παραχωρήσετε το δικαίωμα (πατήστε την καρτέλα μεταξύ ονόματος χρήστη και ALL):
- Τώρα πατήστε το πλήκτρο "ESC" (διαφυγή) για να σταματήσετε την επεξεργασία του αρχείου
- Πατήστε το πλήκτρο : (άνω τελεία) και μετά πληκτρολογήστε "wq" ακολουθούμενο από το πλήκτρο Return για να αποθηκεύσετε τις αλλαγές και να βγείτε από vi
sudo visudo
Προδιαγραφή δικαιωμάτων χρήστη root ALL=(ALL) ALL %admin ALL=(ALL) ALL
όνομα χρήστη ALL=(ALL) ALL
Αυτή είναι περίπου η εμφάνιση, το παράδειγμα στιγμιότυπο οθόνης δείχνει το όνομα χρήστη "osxdaily" που προστέθηκε:
Θα είστε έτοιμοι να πάτε, μπορείτε να βάλετε το αρχείο sudoers για να βεβαιωθείτε ότι το αρχείο τροποποιήθηκε:
γάτα /etc/sudoers
Χρησιμοποιήστε το cat with grep για να βρείτε γρήγορα το όνομα χρήστη εάν δεν θέλετε να σαρώσετε ολόκληρο το αρχείο:
γάτα /etc/sudoers | όνομα χρήστη grep
Τώρα που το 'όνομα χρήστη' προστέθηκε στο αρχείο sudoers, πρέπει να πάτε.
Επίλυση σφάλματος "/etc/sudoers busy, δοκιμάστε ξανά αργότερα"
Εάν προσπαθείτε να τροποποιήσετε τα sudoers και λάβετε ένα σφάλμα "visudo: /etc/sudoers busy, δοκιμάστε ξανά αργότερα", αυτό συνήθως σημαίνει ότι το αρχείο έχει ήδη ανοίξει, είτε από άλλο χρήστη είτε από ατύχημα ή με ακατάλληλο κλείσιμο του visudo. Εάν χρησιμοποιείτε μηχάνημα πολλών χρηστών, φροντίστε να επικοινωνήσετε με άλλους χρήστες προτού κάνετε οτιδήποτε περαιτέρω, αλλά γενικά αυτό δεν πρέπει να συμβαίνει συχνά σε ένα μηχάνημα ενός χρήστη. Είναι σημαντικό να διαφοροποιήσετε τα δύο, επειδή αν χαλάσετε το αρχείο sudoers μπορεί να αντιμετωπίσετε έναν κόσμο απογοήτευσης, προβλημάτων και τελικής επαναφοράς του λειτουργικού συστήματος (ή του αρχείου sudoers) από αντίγραφα ασφαλείας, των οποίων η επίλυση είναι πέρα από το πεδίο εφαρμογής αυτού του άρθρου .
Σε Mac με έναν χρήστη, αυτό το σφάλμα "sudoers busy" μπορεί να συμβεί μετά την έξοδο από την εφαρμογή Terminal χωρίς έξοδο από το vi, ή εάν το Terminal ή το Mac OS X διακόπηκε ή εάν το αρχείο είναι ανοιχτό αυτήν τη στιγμή σε άλλο συνεδρία. Η λύση για τις τελευταίες περιγραφείσες περιπτώσεις μηχανημάτων μιας χρήσης είναι αρκετά απλή και μπορείτε να επιλύσετε το σφάλμα αφαιρώντας το προσωρινό αρχείο sudoers που χρησιμεύει ως κλειδαριά:
sudo rm /etc/sudoers.tmp
Θα θέλετε να το κάνετε μόνο εάν είστε βέβαιοι ότι κάποιος άλλος χρήστης (ή εσείς) δεν τροποποιεί ενεργά το αρχείο, είτε τοπικά είτε απομακρυσμένα. Δεδομένου ότι η προσαρμογή των sudoers είναι αρκετά προχωρημένη γενικά, υποθέτουμε ότι γνωρίζετε τι κάνετε εδώ, αλλά εάν δεν μπορείτε να εντοπίσετε τι ή γιατί είναι ανοιχτό το sudoers, μπορείτε να δοκιμάσετε να χρησιμοποιήσετε το dtrace ή το opensnoop για να παρακολουθήσετε τη χρήση του αρχείου.