android5.0とSELinux
L01Fにandroid5.0を導入してみて、わかったこと・・・・
lollipopさんはSELinuxによる、セキュリティが強化されてるんですね
4.xの時は、root取れば、不自由なく弄れてたのですが
確かにRoot Explorer等のルートアプリは動くのだが
adb shellを叩くと
$ adb shell
- exec '/sbin/sh' failed: Permission denied (13) -
パーミッションエラー・・・はぁ???
ちなみにadb root ではrootになれたりする(笑)
$ adb root
restarting adbd as root
$ adb shell
~ #
liquidsmooth ROMにはイコライザーにViPER4Android FXが採用されてるので
テストしてみると、起動はするのだが、設定の反映ができない
CPUガバナーも設定画面では、きちんとできるのに設定の反映が効かない・・・
???なんかおかしいので、調べてみると
SELinuxには、許可されていないアクセスを拒否する「Enforcingモード」と、許可されていないアクセスがあった場合でもログを出力するだけで実際にはアクセス制御を行わない「Permissiveモード」の2つの動作モードがある。
lollipopになって、アプリのほほぼすべてがEnforcingモードで動作することになった。
確かにKernelはビルドしたもののSELinuxのステータスは
Enforcing なってる。
Permissiveモードにしてあげないと、たとえrootといえども拒否されちゃうわけね
ただし2つのモードの切り替えは、コマンドラインからできるみたいなのでやってみる。
はじめに、getenforceコマンドを利用して現在のモードを確認。
~ # getenforce
Enforcing ←Enforcingモード
~ # setenforce 0 ←setenforce 0でPermissiveモードに、setenforce 1ならEnforcingモードに変更できる。
~ # getenforce
Permissive ←Permissiveモードに変わった。
これで、ちゃんと使えるようになった訳ですが、端末を再起動すると再びEnforcingモードに・・・
いろいろと勉強になるなぁ
コメントをどうぞ