superuser.apk와 su는 정확히 무엇입니까?


32

나는 안드로이드 장치의 루팅에 대해 많은 것을 읽었습니다. 프로세스에 커밋하기 전에 각 단계에서 무슨 일이 일어나고 있는지 정확히 알고 싶습니다.

superuser.apk 및 su 파일의 출처에 대해서는 약간 혼란 스럽습니다. 파일이 공식 Google 파일 인 것 같지는 않지만 (임의의) 개인이 만든 파일입니다. 즉,이 파일들은 얼마나 안전합니까?

연구에서 나는 그들의 목적에 대한 일반적인 이해를 가지고 있습니다. 이 파일이 무엇인지 (실행 파일? 스크립트?), 포함 된 내용 및 일반적으로 작동하는 방식을 아는 사람이 있는지 궁금합니다.

감사!


답변:


32

su(사용자 전환의 줄임말) 이진 실행 파일입니다. 프로세스는 관련 사용자 계정을 변경할 수 있도록 Android 및 기타 * nix 기반 시스템에서 사용됩니다. 루팅 관점에서 중요한 이유는 su다른 매개 변수가 없으면 루트 사용자로 전환되므로 기능에 대한 루트 권한이 필요한 프로세스를 호출해야합니다 su(기본적으로 루트에서 실행되지 않기 때문에).

수퍼 유저는 Android 애플리케이션입니다 (.apk는 Android 애플리케이션 패키지입니다). su바이너리에 대한 일종의 "게이트 키퍼"로 작동합니다 . 호출을 시도하는 응용 프로그램 su은 수퍼 유저를 통해 강제로 라우팅되며 알 수 없거나 새로운 응용 프로그램 인 경우 사용자에게 메시지를 표시합니다. 그런 다음 사용자는 액세스 권한을 승인 또는 거부 su하고 선택적으로 수퍼 유저가 자신의 결정을 기억하도록하여 해당 앱의 후속 호출에 자동으로 적용 할 수 있습니다. 이렇게하면 루트 권한이 부여 된 유일한 앱은 사용자가 선택하는 것입니다.

두 응용 프로그램의 소스는 Github에서 사용할 수 있으며이를보고 싶은 사람은 누구나 조사 / 감사 할 수 있습니다 (Superuser here , su here ).

수퍼 유저 웹 사이트 에서 자세한 내용과 변경 로그를 찾을 수 있습니다 .

Android 애호가에 대한 기타 관련 질문 :


1
자세한 답변과 링크에 감사드립니다. 감사!
kaspnord

1
안드로이드 루팅을 목적으로이 파일들에 대한 대안 / 등가물이 있습니까?
kaspnord

1
@kaspnord : 아니요, su다른 Linux / unix OS에서 사용되는 것과 동일한 파일이며 이에 대한 대안은 없지만 superuser.apk가있을 수 있습니다. 왜 대안을 원하십니까?
kyrias

3
이 파일은 오픈 소스 커뮤니티의 축복을 받았지만 어떤 종류의 표준 (예 : 공식적으로 Google이 아님)을 가지고 있지 않기 때문에 궁금합니다. 따라서 다른 사람들이 동일한 파일의 다른 변형을 만들 수 있다고 생각하게됩니다. 개인적으로 필자는 파일에 무엇이 포함되어 있는지 100 % 확신 할 수없는 다른 회사의 솔루션에 의존하기보다는 내가 사용하고있는 것을 정확히 알고 싶습니다.
kaspnord

11

Superuser소스 코드 는 github에서 사용할 수 있으며 Superuser 의 주요 저자는 Adam Shanks ( ChainsDD )와 Koushik Dutta ( koush , Clockwork Recovery의 저자)입니다.

Koushik Dutta는 자신의 블로그에서 Superuser.apk의 작동 방식을 설명했습니다 . 이 게시물은 수퍼 유저 앱의 가장 초기 화신에서 나온 것으로, 그 이후로 많은 것들이 변경되었으며, 작성된 내용 중 일부는 더 이상 현대적인 수퍼 유저 / su 구현에 맞지 않지만 기본 사항은 여전히 ​​동일해야합니다.

su와 Superuser는 확실히 대안으로 대체 될 수 있지만 실행 파일이 적절한 경우 su가 사용하는 기능 (예 : exec () 및 setuid () 시스템 호출)을 실제로 사용할 수있는 것만 큼 많은 것을 할 수는 없습니다. 권한 비트 (예 : setuid 비트가 루트로 설정 됨) 핵심적으로 su는 매우 간단한 프로그램이며 다른 사용자로서 프로세스를 생성합니다. 실제 보안 검사는 커널에 의해 수행됩니다.

따라서 공식, 수정되지 않은 su 및 수퍼 유저 앱을 받고 적절한 권한으로 올바르게 설치되는 한 걱정할 필요가 없으며 오픈 소스이며 안전하므로 소스를 확인할 수 있습니다 github에서 자신을 코딩하십시오. 그러나 트로이 목마 수퍼 유저 / su 바이너리를 얻는 것은 확실히 가능합니다. 따라서 수퍼 유저 / su 바이너리를받는 곳이 신뢰할 수 있는지 확인하십시오 (또는 진정 편집증이라면 su / superuser를 직접 컴파일하십시오).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.