[Android] adb push 에러 ( read only file system )
글쓴이: naiad0611 / 작성시간: 일, 2016/08/07 - 11:21오후
안녕하세요! 모바일 보안 공부하고 있는 학생입니다
현재 제 핸드폰(디바이스) /system 파일 시스템 상태가 rw 임에도 불구하고 (아랫줄 참조)
/dev/block/mmcblk0p9 /system ext4 rw,seclabel,relatime,user_xattr,barrier=1,data=ordered 0 0
adb push 명령어 사용시
/system 파일 시스템이 Read-only file system 이라
copy 가 안 된다는 에러메세지가 뜨네요
C:\Workspace>adb push tcpdump /system/bin
adb: error: failed to copy 'tcpdump' to '/system/bin/tcpdump': Read-only file system
이유를 알 수 있을까요?
Forums:
/system/bin 자체의 퍼미션 체크 필요
adb push 명령어로 파일을 /system/bin에 넣으려면 해당 디렉토리에 대해 shell 계정으로 쓰기가 가능한지도 확인이 필요해 보입니다.
adb 명령은 shell이라는 계정으로 동작합니다.
물론 adb root 명령어로 루팅된 단말이나 eng버전은 shell이 아닌 root권한을 가지게 할 수도 있긴 합니다.
제 단말에서 해당 디렉토리의 퍼미션을 확인해 보니,
shell@klteskt:/ $ ls -l /system | grep bin
drwxr-xr-x root shell 2014-09-10 00:15 bin
drwxr-xr-x root shell 2014-09-10 00:15 xbin
shell@klteskt:/ $ id
uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats) context=u:r:shell:s0
그 디렉토리에 일반 shell계정으로는 바로 write가 불가능해 보이네요. 퍼미션을 조금 손 봐주면 바로 되겠죠?
추가적인 팁으로 /data/local/tmp는 shell권한으로 writable하면서 excutable한 특수한 디렉토리입니다.
관련 추가적인 설명을 위해 제 공개소스 URL하나 투척하고 갑니다. =3 https://github.com/LipiLee/netstat
댓글 달기