Androidのゲストモード禁止
概要
やりたいこと
Nexus5Xにおいて、Android 5.X以降で利用可能となったゲストモードを禁止したい
- ゲストモードは利用者が初期化でき、制限アプリが効かずなんでもできてしまうため
当初やろうとしたこと(うまくいかなかったこと)
- USBデバッグを使って、ゲストモードをオフにしようとした android.stackexchange.com
- 最終的にやったこと
- 使用者(子供)のアカウントを別に作って、元のアカウント(管理者)にロックをかけた
経緯
- 子供(小6)に持たせているNexus5Xはほとんどアプリを削除してから持たせていたが、勝手にゲストモードで別Googleアカウントを設定して、自由に使っていたことが判明した。
- しかも、「ゲストを削除」すると、どのアプリを使っていたのかも削除されるため、追跡ができない
- 追加対策でノートンアプリロックを設定したが、ユーザの切り替えは画面上からのスワイプから実施できるため、アプリロックもかからない
しらべたところ、ゲストモードを禁止するにはSDKからadbコマンドをたたかないといけないらしいので、実施して記録を残してみる- 参考情報は、Lollipop(Android5)に関するものであったが、Nougat(Android7)では動作しなかった
- いろいろ試しているうちに、マルチユーザ機能で作った別アカウントからはゲストに移行できないことがわかったため、方針転換をして、アカウントの整理をすることで対策を行った。
つまり
- Android 5.X移行のスマホを子供に持たせるとき、できることを制限したければ、ゲストモードを残しておいてはいけない
- ゲストモードを使えなくするためには、初期ユーザを使わせず、追加ユーザを使わせて、初期ユーザにはアクセスできないようにする必要がある
- 追加ユーザ側に動作制限アプリを導入し、初期ユーザへの変更を制御することで、ある程度制御することができる
やったこと
利用者アカウント(制限付きアカウントの作成)
- 初期ユーザ(管理者)アカウントで、設定 -> ユーザから、利用者ユーザを追加する
利用者アカウントでの設定
- 利用者ユーザに切り替えて、初期設定を行う
- googleアカウントの登録
- 必要アプリのインストール
- 制限ソフトをインストール
管理者アカウントの制限
- セキュリティで画面ロックをPINコードに設定
- こうしておくことで、利用者が管理者アカウントには移れないようにする
- 管理者アカウント側には、制限ソフトは不要
(参考情報) adbでの作業
準備したもの
設定
adb shell settings put global guest_user_enabled 0
確認
adb shell settings get global guest_user_enabled