Logo tr.androidermagazine.com
Logo tr.androidermagazine.com

Telefonunuzu köklendirmek ne anlama geliyor?

İçindekiler:

Anonim

Sorularınızı almayı çok seviyoruz. Birbirimize yardım edebileceğimiz her zaman iyi bir şeydir ve cevapları ararken kendimizi bir şeyler öğreniriz. Hepsine cevap vermek için zaman bulamamış olsak da, bazen kesin bir cevabı ayrıntılı bir cevabı hakediyor.

"Kök ne anlama geliyor?" bu sorulardan biri. Konsept bazılarımız için basit olabilir, ancak Android veya başka bir izin tabanlı işletim sistemi ile uğraşarak vakit geçirmemiş birçok insan için, bu konuda sorular sormak için bir şey var. Hepsini elimden geldiğince cevaplamaya çalışacağım.

İzinler

Kök tanımlamadan önce neden var olduğunu ve nasıl çalıştığını anlamak önemlidir. Bunun nedeni, Android'in dosya yapısında izinleri (tam olarak olması için Linux tabanlı izinler) kullanmasıdır. Her dosya, her klasör ve her bölümün bir dizi izni vardır. Bu izinler bir dosyayı kimin okuyabileceğine (içeriğine bakmadan veya içeriğine erişmeden erişebildiğine), bir dosyaya yazabileceğine (o dosyanın içeriğini değiştirebildiğinden veya bir klasör veya bölüm içinde yeni bir dosya oluşturabildiğinden) ve bir dosyayı çalıştırabileceğine karar verir. (Bir uygulama gibi çalışabilen bir türse dosyayı çalıştırın). Bu, kullanıcılara ve izinlere dayalı olarak yapılır - bazı kullanıcıların erişimi vardır, doğru izinleri olmayan kullanıcıların erişimi de engellenir.

Telefonunuzu ilk kurduğunuzda ve ilk kez açtığınızda, size bir kullanıcı kimliği atanır. Başka bir kullanıcı Google üzerinden oturum açarsa, farklı bir kullanıcı kimliği atanır. Telefonunuza bir uygulama yüklendiğinde, kendine ait bir kullanıcı kimliği de atanır. Sistemin kendisi bir kullanıcıdır ve telefonunuzda çalışması gereken diğer işlemlerin kendi kullanıcı kimlikleri olabilir. Android'inizdeki herhangi bir dosyaya bir şey yapabilecek her şey bir kullanıcıdır.

Bir kullanıcı ve izinler sistemi, Android'in kimin neyi yapabileceğini nasıl takip ettiğini gösterir.

Bir mesajlaşma uygulaması yüklediğinizi varsayalım. Taktığınızda kullanıcı kimliği atanır. Ayrıca kendi veri bölümünüzde yalnızca erişebildiği bir noktaya gelir. Uygulamayı yürütme izniniz vardır ve uygulama çalıştığında, kendi veri klasörüne ve dosyalarına erişme izniniz vardır. Bu uygulama aynı zamanda adres defteriniz veya SD kart veya fotoğraf kitaplığınız gibi şeylere erişmek için izin isteyebilir. Bu isteklere evet diyorsanız (veya Android'in eski sürümlerindeki izinleri kabul ediyorsanız), uygulamanın kullanıcı kimliğine bu şeylerin veri dosyalarına izin verilir, yani veri klasörüne ve içeriğine bakabilir ve muhtemelen değişebilir onları veya yeni dosyalar ekleyin. Uygulamaya "bakmak" izni olmayan hiçbir veri dosyasına erişemez. Bu, (örneğimizde) ayarlar veritabanına bakmak veya başka bir uygulamanın veri klasörüne erişmek gibi şeyleri yapamayacağı anlamına gelir. Sanal alan terimi genellikle bunun için kullanılır - uygulamalar sanal alanlardır ve yalnızca izinleri olan sanal alanlarda oynayabilirler.

Program olan ve çalıştırabilen (uygulamalar gibi) dosyalar için aynı izin modeli geçerlidir. Kullanıcı kimliğiniz, oturum açtığınızda yüklediğiniz uygulamaları çalıştırma iznine sahiptir. Sistem kullanıcısı, bunları çalıştırma iznine sahiptir ve diğer sistem düzeyi kullanıcıları, uygulamalara erişebilir veya uygulamaların kullandığı belirli işlemleri yapabilir. Diğer uygulamalar başlatma iznine sahip olmayan uygulamaları başlatamaz. İkincil bir kullanıcı eklediyseniz, uygulamalarınıza veya dosyalarınıza erişemez ve bunun tersi de geçerlidir. Telefonunuzda kullanıcı kimliğinizin görme, değiştirme veya çalıştırma izninin olmadığı dosyalar, klasörler ve uygulamalar vardır. Genellikle Android'in bu bölümleri bir şey yapmak için sistem düzeyinde izinler gerektirir (sistem kullanıcı kimliği) ve siz sistem kullanıcısı veya sistem düzeyinde izinleri olan bir kullanıcı değilsiniz.

Anahtarlama izinleri

Telefonunuzun önyükleme şeklini ve çalışan sistemi başlatmak için kullandığı dosyaları değiştirmek ve kullanıcı kimliğinizi yükseltilmiş izinleri atamak teknik olarak mümkün olsa da, bu ne güvenli ne de pratiktir. Ancak Android (ve çoğu Unix veya Linux tabanlı sistem), kök kullanıcı adı verilen şeye sahiptir ve kullanıcı kimliklerini değiştirmek için SubstituteUser ikilisini (küçük bir uygulama olarak bir ikili düşünün) destekler. Bunlar sistemi temel düzeyde yönetmek için kullanılır.

Telefonunuzu yapan kişiler kök kullanıcı kimliğine kolayca erişmenizi istemediğinden ve tüm nedenler bencil olmadığından sizi ve özel verilerinizi de korur - SubstituteUser ikilisi, çoğu yapıya dahil değildir Android. SubstituteUser olmadan, kullanıcı kimliğimizi değiştiremeyiz. Bu arada, Android'deki çoğu sistem düzeyinde, benzer kolay adlar bulunur. Çekirdek güvenliği (önyükleyicideki ve / veya çekirdeğin içindeki dosyalar) aynı zamanda SELinux'un bir parçası olarak kullanıcı kimliklerini değiştirmenize engel olacak şekilde oluşturulmuştur (Güvenlik için Linux - adların kolay olduğunu söyler) çekirdek modülü. Bazı telefonların (Samsung'un Knox'u aklına gelir) başka korumaları vardır ve Android'leri yapan hemen hemen tüm şirketlerin değişiklik yapması için önyükleyicinin kilidinin açılması gerekir, böylece bu dosyalar değiştirilebilir ve kullanıcı kimliklerini değiştirmenize izin verebilir. BlackBerry Priv gibi bazı telefonlar bir adım öteye gider ve bir şeyi değiştirirsek (değiştirebilseydik bile) önyükleme yapmayacaklardır.

Kök olmak için kullanıcı kimliğinizi değiştirmek için bir yol gerekir.

Bunları aştığımızda - ya yükleyiciyi yetkili araçlarla açarak ya da bir çeşit istismar kullanarak - SU ikili dosyasını (SubstituteUser) çalıştırmak için çağrıldığında çalışabileceği bir noktaya koyabiliriz - buna PATH denir. Herhangi bir uygulama kullanıcı kimliğinizin PATH'sinde ise, sisteme tam olarak nerede olduğunu söylemeden çalışır. Ayrıca SU ikili dosyasının kullanıcı kimliğinizin dosyaları çalıştırma (çalıştırma) iznine sahip olduğu bir noktada olduğundan emin olmanız gerekir. Diğer herhangi bir uygulama (Google Play'de kök izinlerine ihtiyaç duyan pek çok uygulama vardır) de aynı erişime ihtiyaç duyacaktır. Telefonunuzu köklemek için bir yöntem kullandığınızda, bunların tümü kök yöntemini oluşturan kişiler tarafından düzenlenir.

Tüm bunlar gerçekleştiğinde, SU ikili dosyasını çalıştırabiliriz (veya başka bir uygulama SU ikili dosyasını çalıştırabilir).

Root erişimi alma

Kök buraya girer. SU ikili sistemi sisteme hangi kullanıcı kimliğine geçmek istediğinizi bildirmek için çalıştırıldığında bayraklar kullanır. Örneğin, eğer SU ikili dosyasını Ubuntu bilgisayarımda "su Jim -c nano" gibi çalıştırırsam, nano komutunu Jim kullanıcısı olarak çalıştırırım (Jim'in şifresini verdikten sonra). SU ikili dosyasını bayrak veya argüman olmadan çalıştırırsanız, sizi kök kullanıcıya yönlendirir. Normalde bir parola sağlamanız gerekir, ancak "root" Android'de kullanılmayan bir kullanıcı olduğundan, parolası yoktur. "Su" komutunu çalıştırmak sizi kullanıcı köküne değiştirecek ve size 0 kullanıcı kimliğini atayacak ve sizi kök grubuna yerleştirecektir. Artık Süper Kullanıcı'sınız.

Süper Kullanıcı olarak Android'inizdeki herhangi bir dosyaya, klasöre veya bölüme her şeyi yapabilirsiniz. Bir şeyle, kelimenin tam anlamıyla bir şey demek istiyoruz. Bloatware uygulamalarını kaldırabilir ve telefonunuzu kıran önemli sistem dosyalarını da kaldırabilirsiniz. Ayrıca, CPU frekansını değiştirmek ve telefonunuzu sonsuza kadar mahvetmek gibi donanıma da yapabilirsiniz.

Kök, her şeyi yapabilen süper kullanıcıdır. Ve biz bir şey demek istiyoruz.

Uygulamalar aynı şeyi yapabilir. SU, PATH uygulamasının bulunduğu yere yerleştirilir ve herhangi bir uygulama onu arayabilir ve çalıştırabilir. Bu uygulama daha sonra Süper Kullanıcı izinlerine sahiptir ve telefonunuzdaki herhangi bir yerde herhangi bir dosyaya hoşlandığı her şeyi yapabilir. Bu yüzden, telefonunuzu yapan kişilerin gerçekten bu seviyeye erişmenizi istemiyorlar ve önyükleyicinin kilidini açmanıza ve bir şeyleri değiştirmenize izin veren şirketler de varsayılan olarak SU ikili dosyasını yerleştirmiyorlar. Kimlerin veya neyin kullanabileceğini kontrol etmenin hiçbir yolu olmadan root erişimine sahip olmak, telefonunuzun yazılımı ve kişisel verileriniz için tehlikelidir.

Bu nedenle, siz veya başka bir uygulama Süper Kullanıcı izinlerini çağırmaya çalıştığında, kök erişimine izin vermeye zorlayan bir uygulama yüklemeniz gerekir. Telefonunuz için bir kök yöntemi kullandığınızda çoğu zaman bir tanesi BusyBox araç seti gibi diğer yararlı ikili dosyalar ile birlikte verilir. El ile bir şeyler yaptıysanız, kendiniz bir tane yüklemeniz gerekir. Google Play'de Chainfire SuperSU ile başlamak için iyi bir tanesidir.

Ivır zıvır

Birçok telefon ve bazı kök yöntemleri işleri biraz farklı yapar (Android 4.3 çok fazla değişiklik getirdi) ve SU ikili dosyasını yerine bırakmak yerine komut dosyaları veya arka plan programı (daemonsu veya su.d gibi kelimeler göreceksiniz) gerekir. Bunlar SubstituteUser'ı çağırmak için kullanılır, böylelikle tıpkı ham ikili yöntem gibi kök kullanıcıya geçebilirsiniz. Telefonunuzu nasıl bağlayacağınıza karar verenler tüm bunları çözdüler ve kullanıcı tarafından karşı karşıya kaldılar.

Bazı Android'leri "temp-root" yapmak da mümkündür. Bu, Süper Kullanıcı izinlerine sahip olabileceğiniz ve yapmanız gereken birkaç şeyi yapabileceğiniz anlamına gelir, ancak yeniden başlatma işlemi kök erişimini ortadan kaldırır. Aynı şekilde, yalnızca root kullanıcısına bilgisayarınızdan adb yoluyla erişebileceğiniz bir "kabuk kök" olabilir.

Son olarak, eğer bu sorularınız olsaydı, köklü bir Android için hazır olup olmadığınızı düşünmeniz gerektiğini vurgulamak isterim. SuperUser erişimi ile telefonunuzu mahvetmenin kolay olduğunu söylediğimizde şaka yapmıyorduk. Telefonunuzu kırabilecek veya tüm verilerinize rastgele bir rouge uygulaması erişimi verebilecek şeyler yapmadan önce biraz okuma yapmanız veya birkaç soru sormanız gerektiğinden utanmanız için hiçbir neden yoktur.

Bunun için buradayız.