iOS - атрибуты файла 6755 изменяются на 0755 при копировании на устройство - джейлбрейк - PullRequest
0 голосов
/ 17 марта 2012

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

MyApp.app / MyAppMyApp.app/MyApp_

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

#!/bin/bash
dir=$(dirname "$0")
exec "${dir}"/MyApp_ "$@"

Который запускает MyApp_ - приложение для запуска от имени пользователя root.

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

-rwsr-sr-x 1 грабитель персонала 817856 17 марта 01:07 MyApp_

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

-rwxr-xr-x 1 root admin 817856 17 марта, 05:07 MyApp_

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

Ответы [ 2 ]

2 голосов
/ 17 марта 2012

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

1 голос
/ 17 марта 2012

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

...