android multi-user란?
- 하나의 단말에서 복수의 사용자 모드를 지원
- 안드로이드 4.2Jelly Bean에서 시작(태블릿에 제한)
- 안드로이드 5.0 Lollipop에서 휴대폰 지원 시작
제조사의 지원 여부에 따라 사용 제한
- 삼성의 경우 S6, S6 edge 단말에서 안드로이드 5.1 이상부터 적용 예정('15.6 ~ '15.7)
3가지 모드 지원
1. Guest mode
- 정보 및 데이터는 세션이 유지되는 동안 일시적으로 저장됨
- LG G플렉스, 및 G2, G3 모델의 4.x 버전에서 이미 Guest 모드 지원
(G4의 경우 통신사에 따라 지원 여부 달라짐)
2. Profile mode
- APP 과 Service 접근 제한 가능
- 아이들에게 핸드폰을 빌려줄 때 과금 위험 서비스나, 숨기고 싶은 app에 제한을 둠으로 보호 가능
3. User mode
- 모든 app과 서비스 제공
- 새로운 google id를 추가함으로 main user와 별개로 서비스 가능
(예를 들어 pc에 usb를 연결할 경우, 해당 로그인 된 정보만 출력 가능)
multi-user 특징
1. The Owner라 불리는 main user는 새로운 user를 만들고 수정하고, 지울 수 있다.
(create, edit, remove)
The Owner -------------> user1, user2, user3
2. User를 생성할 때 unrestricted, restricted를 설정할 수 있다.
(restricted user의 경우 허용된 app에만 접근 가능)
3. User들 간의 데이터는 분리되어 서로의 데이터를 보지 못한다.
4. OS의 setting은 분리 될 수 있고 공유 할 수도 있다.
5. 하나의 User만 화면에 활성화 할 수 있지만 3개의 다른 user까지 동시에 background로 프로세스 실행 가능
(예를 들어 email과 같은 경우 background로 계속 실행하게끔 할 수 있음)
생성 원리
- OS 레벨에서 다음과 같이 변경사항이 구현됨
- Sandboxing에 이용되는 appId와 사용자 id가 생성되는 데 이를 각각 appId, userId라고 부른다.
- userID
- 00: Device Owner
- -10000: null user
- <nn>: secondary userID로 만약 main user 이외 User1이 생성된다면 userId는 10을 갖게 되고 User2는 11로 생성
- User의 list는 /data/system/users/userlist.xml에 저장됨
- app의 경우 XML file에 app list를 추가함으로 app을 숨기는 데 수정할 경우 숨김 app을 볼 수 있음
- 제한 설정 같은 경우 Setting app 자체적으로 메뉴항목을 숨김. 그러나 VPN setting이나 mobile data setting, backup 등의 setting 숨김을 우회하는 방법이 있음. 이를 막을 수 있는 통합 프레임워크 메커니즘이 없음
- Wi-Fi의 문제가 있는데 User1이 악의적인 AP를 통해 모든 데이터를 가로챌 수 있도록 구성 가능
'프로그래밍 > Android' 카테고리의 다른 글
갤럭시 s3(shv-e210k) 4.4.4 루팅 (3) | 2015.09.01 |
---|