Android - 일반 기기와 루팅된 기기의 권한 차이는 무엇입니까?

Android - 일반 기기와 루팅된 기기의 권한 차이는 무엇입니까?

나는 두 개의 Android 휴대폰을 가지고 있는데 하나는 루팅되었고 다른 하나는 루팅되지 않았습니다. 루트 권한을 요청하지 않고 두 전화기 모두에서 다음 코드를 실행하면

system("echo \"abc\" > /data/a.txt\n");

루팅된 전화기는 오류 2(512)를 반환하고 일반 전화기는 오류 1(256, 권한 거부됨)을 반환합니다. 그래서 내 질문은 이러한 차이의 원인이 무엇인지입니다.

답변1

적어도 내 데스크톱 Linux 시스템에서는 errno 2가 이며 ENOENT해당 파일이나 디렉터리가 없습니다. 명령을 사용하여 확인할 수 있습니다 errno(휴대폰에서는 사용하지 못할 수도 있음).

이는 아마도 휴대전화에 /data가 없다는 뜻일 것입니다(이상하네요). 내 루팅된 휴대폰(Galaxy Nexus, 재고 Jelly Jean 4.2.2 실행)에서 쉘(C 프로그램이 아닌)에서 시도하면 권한이 거부됩니다.

나는 ls -ld /data시작하고 which echo거기에도 다른 것이 있는지 확인하는 것이 좋습니다. 아니면 쉘이 없을 수도 있습니다. 작동합니까 system("true")?

관련 정보