2010-07-11 4 views

답변

1

좋아,이 일을하고, 당신은 그룹으로 관리자와 루트 액세스 권한이 있어야하고 그 특정 위치에 쓰기 SetUID 플래그를 설정해야합니다. 내가 한 일은 Cydia.app의 디렉토리 구조를보고 그에 따라 내 앱을 컴파일 한 것입니다 (예 : Cydia 및 Cydia_).

YourApp_에 앱 이름을 바꾸고 YourApp라는 이름의 새 파일을 만들고 그 아래에 텍스트를 게시하고 적절한 권한을 설정하면 나갈 수 있습니다.

#!/bin/bash 
C=/${0} 
C=${C%/*} 
declare -a flags 
exec "${C:-.}"/MyApp_"${flags[@]}" -- "[email protected]" 2>>/tmp/MyApp.log` 

BTW YourApp 바이너리는 setuid 플래그에도 4755의 허가를 받아야합니다.

0

해당 디렉토리의 플래그를 확인 했습니까? 어쩌면 그것은 "시스템 불변"으로 설정되었을 것입니다. chflags 명령을보고 파일의 플래그에 대해 자세히 알아보십시오.

+0

내 앱 플래그를 의미합니까 ?? 또는 /System/Library/CoreService/Someplist.plist 파일 플래그? – raziiq

+0

아니요, 당신이 쓰기를 원하는 디렉토리의 플래그를 의미합니다. – Macmade

+0

지도를 주셔서 감사합니다. 그런 플래그를 확인하는 방법을 설명해 주시겠습니까? 플래그가 해당 디렉토리에 쓰지 못하게 할 수 있습니까? – raziiq

관련 문제