2012-03-16 1 views
0

Я хочу запустить приложение с правами администратора
Позже я запустил приложение с помощью косвенного скрипта с запуском этого приложения с настройкой разрешений 6755, с которой эта часть работает, и он запускает приложение.Изменения атрибутов файла iOS - 6755 до 0755 при копировании на устройство - джейлбрейк

MyApp.app/MyApp
MyApp.app/MyApp_

У меня есть MyApp файл, который является сценарий следующим:

MyApp.app/MyApp:

#!/bin/bash 
dir=$(dirname "$0") 
exec "${dir}"/MyApp_ "[email protected]" 

Что это работает MyApp_, который является приложением для запуска от имени root.

Это атрибут файла после того, как я побежал 'CHMOD 6755 MyApp.app/MyApp_' на компьютере

6755 на компьютере

-rwsr-стер-х 1 сотрудников отнимают 817856 17 марта 1:07 MyApp_

И это атрибут файла, когда я скопировать его на устройство
(с помощью терминала с Scp ключом -rp)

0755 на устройстве после копирования !!!

-rwxr-хт-х 1 корень админ 817856 17 марта 5:07 MyApp_


Как всегда, когда я исправляю снова атрибуты на устройстве он работает отлично и MyApp_ работает как корень!
Но я хочу убедиться, что когда пользователь устанавливает приложение из Cydia, и он копируется через Cydia, то же самое не происходит с пользователем, а атрибут MyApp_ не возвращается к 0755, что приводит к тому, что приложение не работает.

ответ

1

Вы звонили в setuid (0) в main()?

+0

Спасибо за ответ, да, я сделал это в основном(), я также сделал setgid (0); –

+0

Это работало? Это проблема? –

+0

Нет, к сожалению, у меня уже были они в основном() –

2

Вы не можете использовать set*id(0), чтобы стать root, если процесс не запущен с правами root. Если вы беспокоитесь о проверке errno, вы обнаружите, что это будет EPERM.

+0

Я не просто setui (0), В нижней части моего вопроса я объяснил, как я его запускаю. MyApp.app/MyApp MyApp.app/MyApp_ У меня есть MyApp файл, который является сценарий следующим: #/bin/Баш реж = $ (имя_директории "$ 0") Exec «$ {реж! } "/ MyApp_" $ @ " В какой программе работает приложение MyApp_, которое должно выполняться как root. Это атрибут файла после того, как я побежал «CHMOD 6755 MyApp.app/MyApp_» -rwsr-стер-х 1 сотрудников отнимают 817856 17 марта 1:07 MyApp_ –

+0

Это хорошо. Он по-прежнему не будет работать как root. –

+0

Нет, это не так, и это журнал, который я выводил -1: setuid (0) -1: setgid (0) - getuid() 501 - getgid() 501 17 марта 11:45:59 неизвестно MyApp_ [8682 ] : Имя пользователя: mobile - geteuid() 501 - getuid() 501, getusershell()/bin/sh –