Logo el.androidermagazine.com
Logo el.androidermagazine.com

Τι σημαίνουν πράγματι οι ριζοβολίες του τηλεφώνου σας;

Πίνακας περιεχομένων:

Anonim

Αγαπάμε τις ερωτήσεις σας. Είναι πάντα καλό όταν μπορούμε να βοηθήσουμε ο ένας τον άλλον και μαθαίνουμε τον εαυτό μας όταν αναζητάμε τις απαντήσεις. Ενώ δεν μπορούμε να βρούμε χρόνο για να απαντήσουμε σε όλα αυτά, μερικές φορές μια συγκεκριμένη ερώτηση έρχεται αρκετά ώστε να αξίζει μια λεπτομερή απάντηση.

"Τι σημαίνει η ρίζα;" είναι μία από αυτές τις ερωτήσεις. Η ιδέα μπορεί να είναι απλή για κάποιους από εμάς, αλλά για πολλούς ανθρώπους που δεν έχουν ξοδέψει χρόνο με το Android ή οποιοδήποτε άλλο λειτουργικό σύστημα βασισμένο σε άδειες, είναι κάτι που θέτει ερωτήσεις. Πάω να προσπαθήσω να απαντήσω σε όλους όσο καλύτερα μπορώ.

Δικαιώματα

Πριν να ορίσουμε τη ρίζα, είναι σημαντικό να καταλάβουμε γιατί υπάρχει και πώς λειτουργεί. Αυτό οφείλεται στο γεγονός ότι το Android χρησιμοποιεί δικαιώματα (βασισμένα στο Linux, για να είναι ακριβή) στη δομή του αρχείου. Κάθε αρχείο, κάθε φάκελος και κάθε διαμέρισμα έχει ένα σύνολο δικαιωμάτων. Αυτά τα δικαιώματα καθορίζουν ποιος μπορεί να διαβάσει ένα αρχείο (να κοιτάξει ή να αποκτήσει πρόσβαση στα περιεχόμενα χωρίς να τα αλλάξει), να γράψει σε ένα αρχείο (να μπορεί να αλλάξει τα περιεχόμενα του αρχείου ή να δημιουργήσει ένα νέο αρχείο μέσα σε ένα φάκελο ή ένα διαμέρισμα) και να εκτελέσει ένα αρχείο (εκτελέστε το αρχείο αν είναι ένας τύπος που μπορεί να τρέξει, όπως μια εφαρμογή). Αυτό γίνεται με βάση τους χρήστες και τα δικαιώματα - ορισμένοι χρήστες έχουν πρόσβαση, ενώ οι χρήστες που δεν έχουν τα κατάλληλα δικαιώματα αποκλείονται από την πρόσβαση.

Όταν ρυθμίζετε για πρώτη φορά το τηλέφωνό σας και το ενεργοποιείτε για πρώτη φορά, έχετε εκχωρηθεί αναγνωριστικό χρήστη. Εάν ένας άλλος χρήστης συνδεθεί μέσω του Google, του αποδίδεται διαφορετικό αναγνωριστικό χρήστη. Όταν μια εφαρμογή είναι εγκατεστημένη στο τηλέφωνό σας, έχει επίσης ανατεθεί ένα δικό της αναγνωριστικό χρήστη. Το ίδιο το σύστημα είναι χρήστης και άλλες διαδικασίες που πρέπει να εκτελούνται στο τηλέφωνό σας μπορεί να έχουν το δικό τους αναγνωριστικό χρήστη. Όλα όσα μπορούν να κάνουν οτιδήποτε σε οποιοδήποτε αρχείο στο Android σας είναι χρήστης.

Ένα σύστημα χρηστών και δικαιωμάτων είναι το πώς το Android παρακολουθεί ποιος μπορεί να κάνει κάτι.

Ας υποθέσουμε ότι εγκαθιστάτε μια εφαρμογή ανταλλαγής μηνυμάτων. Δίνεται ένα αναγνωριστικό χρήστη όταν το εγκαταστήσετε. Παίρνει επίσης ένα σημείο στο διαμέρισμα δεδομένων σας, το οποίο έχει μόνο πρόσβαση. Έχετε δικαιώματα εκτέλεσης της εφαρμογής και όταν εκτελείται η εφαρμογή, έχει άδεια πρόσβασης στον δικό της φάκελο δεδομένων και αρχεία. Η εφαρμογή μπορεί επίσης να ζητήσει άδεια πρόσβασης σε πράγματα όπως το βιβλίο διευθύνσεών σας ή η κάρτα SD ή η βιβλιοθήκη φωτογραφιών. Εάν λέτε ναι σε αυτά τα αιτήματα (ή εάν συμφωνείτε με τα δικαιώματα σε παλαιότερες εκδόσεις του Android), το αναγνωριστικό χρήστη της εφαρμογής έχει λάβει άδεια στα αρχεία δεδομένων αυτών, πράγμα που σημαίνει ότι μπορεί να κοιτάξει το φάκελο δεδομένων και τα περιεχόμενά του και ενδεχομένως να αλλάξει ή να προσθέσετε νέα αρχεία. Η εφαρμογή δεν μπορεί να έχει πρόσβαση σε αρχεία δεδομένων που δεν έχει άδεια να "κοιτάξει". Αυτό σημαίνει (στο παράδειγμά μας) ότι δεν μπορεί να κάνει πράγματα όπως να δει τη βάση δεδομένων ρυθμίσεων ή να αποκτήσει πρόσβαση στο φάκελο δεδομένων μιας άλλης εφαρμογής. Ο όρος sandbox χρησιμοποιείται συχνά γι 'αυτό - οι εφαρμογές είναι sandboxed και μπορούν να παίξουν μόνο στις sandboxes έχουν άδεια να είναι μέσα.

Για αρχεία που είναι προγράμματα και μπορούν να εκτελούνται (όπως εφαρμογές), ισχύει το ίδιο μοντέλο άδειας. Το αναγνωριστικό χρήστη σας έχει άδεια να εκτελεί τις εφαρμογές που εγκαταστήσατε ενώ είστε συνδεδεμένοι. Ο χρήστης του συστήματος έχει άδεια να εκτελέσει και οι άλλοι χρήστες σε επίπεδο συστήματος ενδέχεται να έχουν πρόσβαση στις εφαρμογές ή σε ορισμένες διαδικασίες που χρησιμοποιούν οι εφαρμογές. Άλλες εφαρμογές δεν μπορούν να εκκινήσουν εφαρμογές που δεν έχουν άδεια να ξεκινήσουν. Αν έχετε προσθέσει έναν δευτερεύοντα χρήστη, δεν έχουν πρόσβαση στις εφαρμογές ή στα αρχεία σας και το αντίστροφο. Υπάρχουν αρχεία, φάκελοι και εφαρμογές στο τηλέφωνό σας, ώστε το αναγνωριστικό χρήστη σας να μην έχει άδεια να βλέπει, να αλλάζει ή να εκτελείται. Συνήθως, αυτά τα τμήματα του Android απαιτούν δικαιώματα σε επίπεδο συστήματος (το αναγνωριστικό χρήστη του συστήματος) για να κάνουν οτιδήποτε μαζί, και δεν είστε χρήστης του συστήματος ή χρήστης που διαθέτει δικαιώματα σε επίπεδο συστήματος.

Αλλαγή δικαιωμάτων

Ενώ είναι τεχνικά πιθανό να αλλάξετε τον τρόπο εκκίνησης του τηλεφώνου σας και τα αρχεία που χρησιμοποιεί για να ξεκινήσει το τρέχον σύστημα και να εκχωρήσετε τα αυξημένα δικαιώματα χρήσης του αναγνωριστικού χρήστη, δεν είναι ούτε ασφαλές ούτε πρακτικό. Αλλά το Android (και τα περισσότερα συστήματα που βασίζονται σε Unix ή Linux) έχουν αυτό που ονομάζεται χρήστης ρίζας και υποστηρίζουν το δυαδικό δυαδικό στοιχείο SubstituteUser (σκεφτείτε ένα δυαδικό ως μικρή εφαρμογή) για να αλλάξετε τα αναγνωριστικά χρήστη. Αυτά χρησιμοποιούνται για τη διαχείριση του συστήματος στο βασικό επίπεδο.

Επειδή οι άνθρωποι που έκαναν το τηλέφωνό σας δεν θέλουν να έχετε εύκολη πρόσβαση στο αναγνωριστικό χρήστη ρίζας - και όχι όλοι οι λόγοι είναι εγωιστικοί επειδή προστατεύουν επίσης εσάς και τα προσωπικά σας δεδομένα - το δυαδικό αρχείο SubstituteUser δεν περιλαμβάνεται στα περισσότερα κτίρια του Android. Χωρίς SubstituteUser, δεν μπορούμε να αλλάξουμε το αναγνωριστικό χρήστη μας. Τα περισσότερα πράγματα στο επίπεδο του συστήματος στο Android έχουν παρόμοια ονόματα, παρεμπιπτόντως. Η ασφάλεια πυρήνα (αρχεία στον bootloader ή / και στον ίδιο τον πυρήνα) είναι επίσης κατασκευασμένα κατά τρόπο που σας εμποδίζει να αλλάξετε τα αναγνωριστικά των χρηστών ως τμήμα του module kernel SELinux (S ecurity- E nhanced Linux - σας είπε τα ονόματα είναι εύκολο). Ορισμένα τηλέφωνα (το Knox της Samsung έρχεται στο μυαλό) έχουν περαιτέρω προστασία και σχεδόν όλες οι εταιρείες που κάνουν τα Androids απαιτούν, για να κάνουν αλλαγές, ο bootloader θα πρέπει να ξεκλειδωθεί ώστε να μπορούν να αλλάξουν αυτά τα αρχεία και να σας επιτρέψουν να αλλάξετε τα αναγνωριστικά χρήστη. Ορισμένα τηλέφωνα, όπως το BlackBerry Priv, προχωρούν ακόμη ένα βήμα και δεν πρόκειται να εκκινήσουν αν αλλάξουμε κάτι (ακόμα κι αν μπορούσαμε).

Για να γίνει root, χρειάζεστε έναν τρόπο αλλαγής του αναγνωριστικού χρήστη.

Μόλις περάσουμε από όλα αυτά - είτε ξεκλειδώνοντας τον bootloader μέσω εξουσιοδοτημένων μέσων είτε χρησιμοποιώντας κάποιο είδος εκμετάλλευσης - μπορούμε να τοποθετήσουμε το SU δυαδικό (SubstituteUser) σε ένα σημείο που μπορεί να τρέξει όταν καλείται να τρέξει - αυτό ονομάζεται PATH. Εάν οποιαδήποτε εφαρμογή βρίσκεται στο PATH του αναγνωριστικού χρήστη, θα τρέξει χωρίς να ειδοποιεί το σύστημα ακριβώς όπου βρίσκεται. Πρέπει επίσης να βεβαιωθείτε ότι το δυαδικό αρχείο SU βρίσκεται σε σημείο που το αναγνωριστικό χρήστη σας έχει άδεια εκτέλεσης (εκτέλεσης) αρχείων. Οποιαδήποτε άλλη εφαρμογή (το Google Play έχει πολλές εφαρμογές που χρειάζονται δικαιώματα root) θα χρειαστεί επίσης την ίδια πρόσβαση. Όταν χρησιμοποιείτε μια μέθοδο για τη ρίζα του τηλεφώνου σας, όλα αυτά είναι ταξινομημένα από τους ανθρώπους που έχτισαν τη ριζική μέθοδο.

Μόλις όλα αυτά είναι στη θέση του, μπορούμε να εκτελέσουμε το δυαδικό SU (ή άλλη εφαρμογή μπορεί να τρέξει το δυαδικό SU).

Αποκτήστε πρόσβαση root

Αυτό είναι όπου έρχεται η ρίζα. Το δυαδικό SU χρησιμοποιεί σημαίες όταν εκτελείται για να πει στο σύστημα ποιο αναγνωριστικό χρήστη θέλετε να μεταβείτε. Για παράδειγμα, εάν τρέξω το δυαδικό SU στον υπολογιστή μου στο Ubuntu, όπως αυτό "su Jim -c nano" θα τρέξω την εντολή nano ως χρήστης Jim (μετά την προμήθεια του κωδικού του Jim). Εάν εκτελέσετε το δυαδικό δυαδικό αρχείο χωρίς σημαίες ή παράθυρα, θα σας μεταφέρει στον χρήστη root. Κανονικά θα χρειαστεί να δώσετε έναν κωδικό πρόσβασης, αλλά επειδή ο "root" είναι ένας χρήστης που δεν χρησιμοποιείται στο Android, δεν έχει κωδικό πρόσβασης. Η εκτέλεση της εντολής "su" θα σας μεταφέρει στη ρίζα του χρήστη και θα σας εκχωρήσει το αναγνωριστικό χρήστη 0 και θα σας βάλει στη ριζική ομάδα. Είστε τώρα ο Σούπερ Χρήστης.

Ως Super User μπορείτε να κάνετε οτιδήποτε σε οποιοδήποτε αρχείο, φάκελο ή διαμέρισμα στο Android σας. Με τίποτα, εννοούμε κυριολεκτικά οτιδήποτε. Μπορείτε να καταργήσετε εφαρμογές bloatware και μπορείτε επίσης να καταργήσετε βασικά αρχεία συστήματος που σπάνε το τηλέφωνό σας. Μπορείτε επίσης να κάνετε τα πράγματα στο υλικό, όπως να αλλάξετε τη συχνότητα της CPU και να καταστρέψετε το τηλέφωνό σας για πάντα.

Root είναι ο σούπερ χρήστης, ο οποίος μπορεί να κάνει οτιδήποτε. Και εννοούμε τίποτα.

Οι εφαρμογές μπορούν να κάνουν το ίδιο πράγμα. Το SU τοποθετείται εκεί όπου βρίσκεται στην εφαρμογή PATH και κάθε εφαρμογή μπορεί να το καλέσει και να το εκτελέσει. Αυτή η εφαρμογή έχει δικαιώματα Super User και μπορεί να κάνει οτιδήποτε θέλει σε οποιοδήποτε αρχείο σε οποιοδήποτε μέρος του τηλεφώνου σας. Αυτός είναι ο λόγος για τον οποίο οι άνθρωποι που έκαναν το τηλέφωνό σας πραγματικά δεν θέλουν να έχετε αυτό το επίπεδο πρόσβασης και οι εταιρείες που σας επιτρέπουν να ξεκλειδώσετε το bootloader και να αλλάξετε τα πράγματα εξακολουθούν να μην τοποθετούν το SU δυαδικό στο τηλέφωνό σας εξ ορισμού. Έχοντας πρόσβαση root χωρίς κανενός τρόπου να ελέγχετε ποιος ή τι μπορεί να χρησιμοποιήσει είναι επικίνδυνο για το λογισμικό του τηλεφώνου σας και τα προσωπικά σας δεδομένα.

Αυτός είναι ο λόγος για τον οποίο θα πρέπει να εγκαταστήσετε μια εφαρμογή που σας αναγκάζει να επιτρέπετε πρόσβαση σε root οποιαδήποτε στιγμή εσείς ή κάποια άλλη εφαρμογή προσπαθεί να καλέσει τα δικαιώματα Super User. Οι περισσότερες φορές, όταν χρησιμοποιείτε μια ριζική μέθοδο για το τηλέφωνό σας, θα συμπεριληφθούν, μαζί με μερικά χρήσιμα δυαδικά αρχεία, όπως το σύνολο εργαλείων BusyBox. Εάν κάνατε τα πράγματα με το χέρι, θα πρέπει να εγκαταστήσετε μόνοι σας. Το SuperSU από το Chainfire στο Google Play είναι καλό για να ξεκινήσετε.

Απομεινάρια

Πολλά τηλέφωνα και μερικές ριζικές μεθόδους κάνουν τα πράγματα λίγο διαφορετικά (Android 4.3 έφερε πολλές αλλαγές) και απαιτούν δέσμες ενεργειών ή δαίμονα (θα δείτε λέξεις όπως daemonsu ή su.d που αναφέρονται) αντί να απλώς ρίξετε το δυαδικό SU στη θέση του. Αυτά χρησιμοποιούνται για να καλέσουν το χρήστη SubstituteUser ώστε να μπορείτε να μεταβείτε στον χρήστη root όπως ακριβώς και στην ακατέργαστη δυαδική μέθοδο. Οι άνθρωποι που κατάλαβαν πώς να ρίζα το τηλέφωνό σας έχουν ταξινομηθεί όλα αυτά έξω και θα λειτουργήσει το ίδιο στην πλευρά που βλέπει ο χρήστης.

Είναι επίσης πιθανό να "ριχτούν" κάποια ανδροειδή. Αυτό σημαίνει ότι μπορείτε να έχετε δικαιώματα Super User και κάνετε μερικά πράγματα που πρέπει να κάνετε, αλλά μια επανεκκίνηση αποκτά πρόσβαση root. Παρομοίως, μπορείτε να έχετε ένα "shell-root" όπου μπορείτε να έχετε πρόσβαση μόνο στο root χρήστη μέσω adb από τον υπολογιστή σας.

Τέλος, θέλω να τονίσω ότι εάν είχατε αυτά τα ερωτήματα, θα πρέπει να εξετάσετε αν είστε έτοιμοι να έχετε μια ριζωμένη Android. Δεν είχαμε λάθη όταν είπαμε ότι είναι εύκολο να καταστρέψετε το τηλέφωνό σας με πρόσβαση SuperUser. Δεν υπάρχει κανένας λόγος να ντρέπεστε ότι πρέπει να κάνετε λίγη ανάγνωση ή να ζητήσετε μερικές ακόμα ερωτήσεις προτού να κάνετε πράγματα που μπορούν να σπάσουν το τηλέφωνό σας ή να δώσετε κάποια τυχαία πρόσβαση σε όλα τα δεδομένα σας.

Αυτό είμαστε εδώ.