Logo vi.androidermagazine.com
Logo vi.androidermagazine.com

Root điện thoại của bạn thực sự có nghĩa là gì?

Mục lục:

Anonim

Chúng tôi thích nhận được câu hỏi của bạn. Đó luôn là một điều tốt khi chúng ta có thể giúp đỡ lẫn nhau và chúng ta tự học hỏi mọi thứ khi tìm kiếm câu trả lời. Mặc dù chúng ta không thể tìm thấy thời gian để trả lời tất cả, đôi khi một câu hỏi nào đó xuất hiện đủ để nó xứng đáng có câu trả lời chi tiết.

"Root có nghĩa là gì?" là một trong những câu hỏi đó Khái niệm này có thể đơn giản đối với một số người trong chúng ta, nhưng đối với nhiều người không dành thời gian loay hoay với Android hoặc bất kỳ hệ điều hành dựa trên quyền nào khác, đó là điều cần đặt câu hỏi. Tôi sẽ cố gắng trả lời tất cả những gì tốt nhất có thể.

Quyền

Trước khi chúng ta xác định root, điều quan trọng là phải hiểu tại sao nó tồn tại và hoạt động như thế nào. Đó là vì Android sử dụng các quyền (chính xác là các quyền dựa trên Linux) trong cấu trúc tệp. Mỗi tệp, mọi thư mục và mọi phân vùng đều có một bộ quyền. Các quyền này quyết định ai có thể đọc tệp (xem hoặc truy cập nội dung mà không thay đổi chúng), ghi vào tệp (có thể thay đổi nội dung của tệp đó hoặc tạo tệp mới trong thư mục hoặc phân vùng) và thực thi tệp (chạy tệp nếu đó là loại có thể chạy, như ứng dụng). Điều này được thực hiện dựa trên người dùng và quyền - một số người dùng nhất định có quyền truy cập, trong khi người dùng không có quyền phù hợp sẽ bị chặn không có quyền truy cập.

Khi bạn lần đầu tiên thiết lập điện thoại và bật điện thoại lần đầu tiên, bạn được chỉ định một ID người dùng. Nếu người dùng khác đăng nhập qua Google, họ được chỉ định một ID người dùng khác. Khi một ứng dụng được cài đặt trên điện thoại của bạn, nó cũng được gán một ID người dùng của riêng nó. Bản thân hệ thống là người dùng và các quy trình khác cần chạy trên điện thoại của bạn có thể có ID người dùng của riêng họ. Mọi thứ có thể làm bất cứ điều gì đối với bất kỳ tệp nào trên Android của bạn là người dùng.

Một hệ thống người dùng và quyền là cách Android theo dõi xem ai có thể làm gì.

Giả sử bạn cài đặt một ứng dụng nhắn tin. Nó được gán ID người dùng khi bạn cài đặt nó. Nó cũng có một vị trí trên phân vùng dữ liệu của riêng bạn, chỉ có nó mới có quyền truy cập. Bạn có quyền thực thi ứng dụng và khi ứng dụng chạy, nó có quyền truy cập vào các tệp và thư mục dữ liệu của chính nó. Ứng dụng cũng có thể yêu cầu quyền truy cập vào những thứ như sổ địa chỉ hoặc thẻ SD hoặc thư viện ảnh. Nếu bạn nói đồng ý với các yêu cầu này (hoặc nếu bạn đồng ý với các quyền trên các phiên bản Android cũ hơn), ID người dùng của ứng dụng được cấp quyền cho các tệp dữ liệu của những điều đó, có nghĩa là nó có thể xem thư mục dữ liệu và nội dung của nó và có thể thay đổi chúng hoặc thêm các tập tin mới. Ứng dụng không thể truy cập bất kỳ tệp dữ liệu nào mà nó không có quyền "xem". Điều đó có nghĩa là (trong ví dụ của chúng tôi) nó không thể thực hiện những việc như xem cơ sở dữ liệu cài đặt hoặc truy cập vào thư mục dữ liệu của ứng dụng khác. Thuật ngữ hộp cát thường được sử dụng cho việc này - các ứng dụng được đóng hộp cát và chỉ có thể phát trong các hộp cát mà chúng được phép sử dụng.

Đối với các tệp là chương trình và có thể chạy (như ứng dụng), áp dụng mô hình quyền tương tự. ID người dùng của bạn có quyền chạy các ứng dụng bạn đã cài đặt trong khi bạn đăng nhập. Người dùng hệ thống có quyền chạy chúng và người dùng cấp hệ thống khác có thể có quyền truy cập vào ứng dụng hoặc một số quy trình nhất định mà ứng dụng sử dụng. Các ứng dụng khác không thể khởi động ứng dụng mà họ không có quyền bắt đầu. Nếu bạn đã thêm người dùng thứ cấp, họ không có quyền truy cập vào ứng dụng hoặc tệp của bạn và ngược lại. Có các tệp, thư mục và ứng dụng trên điện thoại của bạn mà ID người dùng của bạn không được phép xem, thay đổi hoặc chạy. Thông thường những phần đó của Android yêu cầu quyền cấp hệ thống (ID người dùng hệ thống) để làm bất cứ điều gì và bạn không phải là người dùng hệ thống hoặc người dùng có quyền cấp hệ thống.

Chuyển quyền

Mặc dù về mặt kỹ thuật có thể thay đổi cách điện thoại của bạn khởi động và các tệp mà nó sử dụng để khởi động hệ thống đang chạy và gán quyền nâng cao ID người dùng của bạn, điều đó không an toàn cũng không thực tế. Nhưng Android (và hầu hết các hệ thống dựa trên Unix hoặc Linux) có cái được gọi là người dùng root và hỗ trợ nhị phân SubsternUser (nghĩ về nhị phân như một ứng dụng nhỏ) để thay đổi ID người dùng. Những người được sử dụng để quản trị hệ thống ở cấp độ cốt lõi.

Bởi vì những người tạo ra điện thoại của bạn không muốn bạn có quyền truy cập dễ dàng vào ID người dùng gốc - và không phải tất cả lý do đều ích kỷ vì nó cũng bảo vệ bạn và dữ liệu riêng tư của bạn - nhị phân SubsternUser không có trong hầu hết các bản dựng của Android. Nếu không có Người dùng thay thế, chúng tôi không thể chuyển ID người dùng của mình. Nhân tiện, hầu hết mọi thứ ở cấp hệ thống đều có tên dễ dàng tương tự. Bảo mật cốt lõi (các tệp trong bộ tải khởi động và / hoặc chính hạt nhân) cũng được xây dựng theo cách để ngăn bạn chuyển đổi ID người dùng như một phần của mô-đun hạt nhân Selinux (S ecurance- E nhified - cho bạn biết tên dễ dàng). Một số điện thoại (Knox của Samsung xuất hiện) có thêm sự bảo vệ và gần như tất cả các công ty sản xuất Android yêu cầu rằng, để thực hiện thay đổi, bộ tải khởi động sẽ cần phải được mở khóa để có thể thay đổi các tệp này và cho phép bạn chuyển đổi ID người dùng. Một số điện thoại, như BlackBerry Priv thậm chí còn tiến thêm một bước và sẽ không khởi động nếu chúng tôi thay đổi bất cứ điều gì (ngay cả khi chúng tôi có thể).

Để trở thành root, bạn cần một cách để thay đổi ID người dùng của mình.

Khi chúng tôi vượt qua tất cả - bằng cách mở khóa bộ nạp khởi động thông qua các phương tiện được ủy quyền hoặc sử dụng một loại khai thác nào đó - chúng tôi có thể đặt nhị phân SU (SubstolarshipUser) vào vị trí mà nó có thể chạy khi được gọi là chạy - được gọi là PATH. Nếu bất kỳ ứng dụng nào nằm trong ID người dùng của bạn, nó sẽ chạy mà không cho hệ thống biết chính xác vị trí của nó. Bạn cũng cần đảm bảo rằng tệp nhị phân SU nằm ở vị trí mà ID người dùng của bạn có quyền thực thi (chạy) tệp. Bất kỳ ứng dụng nào khác (Google Play có nhiều ứng dụng cần quyền root) cũng sẽ cần quyền truy cập tương tự. Khi bạn sử dụng một phương thức để root điện thoại của mình, tất cả điều này được sắp xếp bởi những người đã xây dựng phương thức root.

Khi tất cả đã có, chúng ta có thể chạy nhị phân SU (hoặc ứng dụng khác có thể chạy nhị phân SU).

Truy cập root

Đây là nơi root xuất hiện. Nhị phân SU sử dụng cờ khi nó chạy để báo cho hệ thống biết ID người dùng bạn muốn chuyển sang. Ví dụ: nếu tôi chạy nhị phân SU trên máy tính Ubuntu của mình như "su Jim -c nano" này, tôi sẽ chạy lệnh nano với tư cách là người dùng Jim (sau khi cung cấp mật khẩu của Jim). Nếu bạn chạy nhị phân SU không có cờ hoặc đối số, nó sẽ chuyển bạn sang người dùng root. Thông thường bạn sẽ cần cung cấp mật khẩu, nhưng vì "root" là người dùng không sử dụng trên Android nên nó không có mật khẩu. Chạy lệnh "su" sẽ chuyển bạn sang root người dùng và gán cho bạn ID người dùng bằng 0 và đưa bạn vào nhóm gốc. Bây giờ bạn là Siêu người dùng.

Là Siêu người dùng, bạn có thể làm bất cứ điều gì với bất kỳ tệp, thư mục hoặc phân vùng nào trên Android của bạn. Bởi bất cứ điều gì, chúng tôi có nghĩa là bất cứ điều gì theo nghĩa đen. Bạn có thể xóa ứng dụng bloatware và bạn cũng có thể xóa các tệp hệ thống thiết yếu làm hỏng điện thoại của mình. Bạn cũng có thể làm mọi thứ với phần cứng như thay đổi tần số CPU và làm hỏng điện thoại của bạn mãi mãi.

Root là siêu người dùng, người có thể làm bất cứ điều gì. Và chúng tôi có nghĩa là bất cứ điều gì.

Ứng dụng có thể làm điều tương tự. SU được đặt ở vị trí của nó trong ứng dụng PATH và bất kỳ ứng dụng nào cũng có thể gọi nó và chạy nó. Ứng dụng đó sau đó có quyền Siêu người dùng và có thể làm bất cứ điều gì nó thích đối với bất kỳ tệp nào ở bất kỳ nơi nào trên điện thoại của bạn. Đây là lý do tại sao những người tạo ra điện thoại của bạn thực sự không muốn bạn có mức truy cập này và các công ty cho phép bạn mở khóa bộ nạp khởi động và thay đổi mọi thứ vẫn không đặt nhị phân SU trên điện thoại của bạn theo mặc định. Có quyền truy cập root mà không có cách nào để kiểm soát ai hoặc những gì có thể sử dụng, điều đó nguy hiểm cho phần mềm điện thoại và dữ liệu cá nhân của bạn.

Đó là lý do tại sao bạn cần cài đặt một ứng dụng buộc bạn phải cho phép truy cập root bất cứ khi nào bạn hoặc ứng dụng khác cố gắng gọi quyền của Siêu người dùng. Hầu hết khi bạn sử dụng phương thức root cho điện thoại, sẽ có một số nhị phân hữu ích khác như bộ công cụ BusyBox. Nếu bạn đã làm mọi thứ bằng tay, bạn sẽ cần phải tự cài đặt. SuperSU của Chainfire trong Google Play là một sản phẩm tốt để bắt đầu.

Vụn vặt

Nhiều điện thoại và một số phương thức root thực hiện mọi thứ hơi khác một chút (Android 4.3 mang lại nhiều thay đổi) và yêu cầu tập lệnh hoặc trình nền (bạn sẽ thấy các từ như daemonsu hoặc su.d được đề cập) thay vì chỉ bỏ nhị phân SU vào vị trí. Chúng được sử dụng để gọi Subst acadUser để bạn có thể chuyển sang người dùng root giống như phương thức nhị phân thô. Những người tìm ra cách root điện thoại của bạn đã sắp xếp tất cả những thứ này và nó sẽ hoạt động tương tự ở phía người dùng.

Cũng có thể "tạm thời root" một số Android. Điều này có nghĩa là bạn có thể có quyền Siêu người dùng và thực hiện một số điều bạn cần làm, nhưng khởi động lại sẽ mất quyền truy cập root. Tương tự như vậy, bạn có thể có "shell-root" nơi bạn chỉ có thể truy cập người dùng root thông qua adb từ máy tính của bạn.

Cuối cùng, tôi muốn nhấn mạnh rằng nếu bạn có những câu hỏi này, bạn cần xem xét liệu bạn đã sẵn sàng để có một Android gốc. Chúng tôi không đùa khi chúng tôi nói rằng thật dễ dàng để làm hỏng điện thoại của bạn với quyền truy cập SuperUser. Không có lý do gì phải xấu hổ khi bạn cần đọc một chút hoặc hỏi thêm một vài câu hỏi trước khi bạn làm những việc có thể làm hỏng điện thoại của bạn hoặc cho một số ứng dụng rouge ngẫu nhiên truy cập vào tất cả dữ liệu của bạn.

Đó là những gì chúng tôi ở đây cho.