Γρήγορη επιδιόρθωση για την αποτροπή μη εξουσιοδοτημένων αλλαγών κωδικού πρόσβασης dscl στο OS X Lion
Γράψαμε πρόσφατα για το βοηθητικό πρόγραμμα dscl και πώς επιτρέπει σε έναν χρήστη Mac OS X Lion να αλλάξει έναν κωδικό πρόσβασης χωρίς να γνωρίζει τον υπάρχοντα κωδικό πρόσβασης. Έκτοτε, η έλλειψη απαιτούμενου ελέγχου ταυτότητας διαχειριστή έχει αναφερθεί ευρέως ως σφάλμα και μια μικρή Ενημέρωση ασφαλείας θα εκδοθεί πιθανότατα από την Apple κάποια στιγμή στο εγγύς μέλλον. Ωστόσο, εάν είστε παρανοϊκοί σχετικά με το ότι κάποιος θα καταλάβει το Mac σας και θα αλλάξει τον κωδικό πρόσβασης χρήστη χωρίς εξουσιοδότηση, μπορείτε να αλλάξετε μη αυτόματα τα δικαιώματα του βοηθητικού προγράμματος dscl, αναγκάζοντάς το να απαιτεί διαχειριστικά προνόμια για να λειτουργήσει.
- Τερματικό εκκίνησης (βρίσκεται στο /Applications/Utilities/)
- Πληκτρολογήστε την ακόλουθη εντολή και πατήστε επιστροφή:
- Θα σας ζητηθεί ο τρέχων κωδικός πρόσβασης διαχειριστή για να επιβεβαιώσετε την αλλαγή των δικαιωμάτων, να τον εισάγετε και να πατήσετε return
sudo chmod 100 /usr/bin/dscl
Αυτή είναι μια απλή διόρθωση δικαιωμάτων που πιθανότατα μιμείται αυτό που θα κάνει μια επίσημη ενημέρωση ασφαλείας. Η χρήση του sudo chmod 100 δηλώνει ότι μόνο ο κάτοχος (root) μπορεί να εκτελέσει την εντολή dscl, η οποία ουσιαστικά αποτρέπει άλλους χρήστες που δεν είναι διαχειριστές από την πρόσβαση στο βοηθητικό πρόγραμμα υπηρεσιών καταλόγου χωρίς τη χρήση της εντολής sudo, και επομένως τον κωδικό πρόσβασης διαχειριστή.
Μπορεί να υπάρχουν κάποιες ακούσιες συνέπειες από την αλλαγή αυτών των δικαιωμάτων, αλλά είναι απίθανο να επηρεάσει τους περισσότερους χρήστες. Εάν αντιμετωπίσετε κάποια προβλήματα, μπορείτε πάντα να αλλάξετε τα δικαιώματα πίσω, τα οποία φαίνεται να έχουν οριστεί ως 755 από προεπιλογή.
Ένα μεγάλο ευχαριστώ στον "Tjb" που άφησε αυτή την συμβουλή στα σχόλια!
Ενημέρωση: Ο Jim T άφησε την ακόλουθη σύσταση στα σχόλια, προτείνοντας μια άλλη εντολή chmod για αλλαγή των δικαιωμάτων:
Ο συλλογισμός του είναι ότι το chmod 100 είναι πολύ περιοριστικό καθώς αλλάζει την εντολή ώστε να εκτελείται μόνο, όπου όπως πριν ο χρήστης root μπορούσε να διαβάσει, να γράψει και να εκτελέσει.