본문 바로가기
안드로이드

[안드로이드] /dev 디렉토리 권한 설정

by 호군 2011. 9. 1.
반응형
원문 : http://www.aesop.or.kr/?document_srl=400683

'안드로이드 권한 설정' 키워드로 읽게된 글 입니다. 앱에서 권한에 대해서 찾다가 안드로이드 커널 소스 중
/dev 하위 디렉토리에 관한 설정을 할 수 있는 글을 보게 되서 스크랩 합니다.


질문
안드로이드 터미널 앱을 이용하여 파일 접근 권한 설정 질문입니다.
$cd dev
$ls -l ttyS0
crw------- root   root   253, 0 2011-03-28 07:44 ttyS0
$chmod 777 ttyS0
Unable to chmod ttyS0: Operation not permitted

이렇게 출력이 됩니다.
모든 권한을 풀어 주려면 어찌 해야 할까요?
여러가지 웹이나 질문들을 보고 따라 해봤지만
설정이 바뀌지 않는군요.
mkdir 명령으로 폴더를 만드니 Read-only File System이라고 출력이 나오는 것과 관련이 있는건가요?


답변
폴더 생성 시 Read-only File System 라고 출력되는 것은
Android의 Root partition에 해당하는 영역이 RO 영역이기 때문입니다.
따라서 폴더 생성을 하시려면 init.rc 파일에서 rootfs 영역을 ro로 remount 하기 전에 생성하도록 하여 부팅 시 생성을 하셔야 합니다.
device file에 대한 권한 변경은 console에서 하실 경우에는 su 권한이 없는 것이므로
$ su  이렇게 하시면 프롬프트가 $에서 #으로 바뀔겁니다.
그리고 나서 chmod 명령을 사용하시면 됩니다.
다만 RO 영역이므로 rebooting 하면 다시 권한을 설정하셔야 합니다.
device file에 대한 권한 설정은 Froyo 까지는 Android Source의 system/core/init/devices.c 에서
설정을 하게 되고,Gingerbread 부터는 system/core/rootdir/ueventd.rc 파일에서 설정하게 되어 있습니다.
기본 코드 흐름은 비슷하고 권한을 가져오는 방법이 다소 변경되었다라고 보시면 되겠네요..^^


반응형