Selinux Context adalah salah satu alasan mengapa saya lebih menyarankan menggunakan Fakeroot dari pada Termux-Sudo atau Termux-tsu ketika menggunakan Termux

Apa itu Selinux Context?

SElinux (System Enhance Linux) adalah sebuah patch keamanan pada android yg pertama kali di perkenalkan pada android jelybean versi akhir (4.3) dan secara default menggunakan mode permisive (keamanan longgar)

Namun setelah android merilis lolipop secara default menggunakan mode enforcing (keamanan ketat), Dengan tujuan agar user tidak bisa mengubah suatu akses permission/owner pada suatu file atau folder pada system

Namun tidak semua android yg menggunakan versi lolipop ke atas menggunakan selinux dengan mode enforcing, Ada beberepa yg tidak demikian, Terutama ketika menggunakan customrom dengan custom kernel biasanya akan menggunakan mode permissive

Karna pada dasarnya customrom menggunakan berbagai tweak demi meningkatkan performa dan hal tersebut tentu membutuhkan keleluasan dalam hal memodifikasi system

Back to topic, Kenapa saya tidak menyarankan menggunakan Termux-Sudo atau Termux-Tsu alasanya sangat simple, Contoh ketika kalian menjalankan perintah apt dengan sudo atau tsu

1
2
sudo apt update
tsu apt update

Maka ketika nanti kalian mengulang perintah di atas tanpa menggunakan perintah sudo atau tsu

1
apt update

Maka notifikasi yg kalian dapati ialah permission denied karna owner userid dan grupid dari akses tersebut sudah berubah dari yg tadinya user:user menjadi root:root dan ini sifatnya permanen dan perintah apt update tidak bisa lagi di gunakan

Jika penjelasan di atas sedikit membuat bingung maka saya berikan penjelasan yg lebih simple, Simplenya seperti ini, Ketika menggunakan perintah sudo atau tsu maka owner dari perintah aksesnya akan otomatis berubah menjadi hanya root dan user biasa tidak bisa mengakses file yg memiliki root access

Dan ini juga menjadi salah satu alasan saya ketika melakukan port tools ke termux jika tools yg akan saya port harus di jalankan dengan user root maka biasanya perintahnya akan saya hapus selama tidak menjalankan daemon service, Dan jika tidak memungkin barulah saya menggunakan Fakeroot

Dan bagi kalian yg sudah terlanjur menggunakan Termux-Sudo atau Termux-Tsu dan ingin mengembalikan semua aksesnya agar dapat di jalankan lagi dengan perintah nonroot bisa mengikuti panduan di bawah ini

Cara Fix Selinux

Pertama tama kita export dullu beberapa binary yg di butuhkan karna binary tersebut tidak terdapat pada termux dan hanya ada pada system

1
2
su
export PATH=/system/bin:$PATH

Kedua kita lihat dullu mode selinux yg kita gunakan

1
getenforce

Jika output yg muncul ialah permissive kalian bisa melanjutkan ke step berikutnya, Namun jika outputnya adalah enforcing maka harus di ubah dulu dengan perintah berikut

1
setenforce 0

Kemudian mengubah semua owner yg menggunakan root access menjadi non root access

1
2
3
cd ../
restorecon -R home usr
chown -R userid:grupid home usr

Pada argument userid:grupid masukan sesuai userid dan grupid kalian ketik perintah id untuk melihat userid dan grupid kalian masing masing

Jika bingung silahkan menulis komentar