Domanda

Ho bisogno di scrivere un programma C che mi permetterà di lettura / scrittura di file di proprietà di root. Tuttavia, posso correre solo il codice sotto un altro utente. Ho la password di root, ma non ci sono comandi "SU" "sudo" o sul sistema, così ho modo di accedere all'account root (ci sono comandi shell praticamente alcuna, in realtà). Non so molto a proposito di permessi UNIX, quindi non so se sia o non sia in realtà possibile fare questo senza sfruttare il sistema in un modo o l'esecuzione di un programma di proprietà di root per sé (con + s o qualsiasi altra cosa) . Qualche consiglio?

Grazie!

P.S. No, questo non è niente di dannoso, questo è su un iPhone.

È stato utile?

Soluzione

In base al sistema di autorizzazioni UNIX, è necessario eseguire un file di proprietà di radice stessa che è segnato setuid root (+ s, come ha detto lei) o comunicare con un processo che è già in esecuzione come root.

Se non c'è tale file, è fuori di fortuna.

Altri suggerimenti

È possibile farlo con l'impostazione bit suid di applicazione, ma se si vuole da questo c application eseguire un po 'di shell questo è stato essere gestito su utente locale se lo si fa normalmente questo è sistema di sicurezza.

Tuttavia è possibile read/write/execute file di proprietà di root, ma se l'utente non è in un gruppo di file di file di destinazione deve avere read/write/execute impostato lo scorso 3 bit o quando l'utente è nel gruppo proprietario del file è necessario verificare / applicare questo a 3 bit in posizione centrale. (3 primi bit impostando il permesso di proprietario, ma questo non può, con un'informazione utile per voi).

Se non avete alcun accesso a conto root. Poi se il gruppo e le altre autorizzazioni utente dont funzioni di accesso come si deve avere, non si può fare con questo nulla, se non cercare ottenere qualche utente prilveaged per accedere a questo file. In altri casi, si possono fare alcune correzioni in permessi di accesso ai file, ma non di questo sistema, è necessario ottenere disco rigido da questo dispositivo e collegare ad altri di cambiarla o di carico su questo dispositivo un po 'dal vivo sistema per cambiare questo. Tuttavia si può fare questo sul sistema privleaged non su questo.

Maggiori informazioni su SUID bits si possono trovare all'indirizzo:

http://www.codecoffee.com/tipsforlinux/articles/028.html

http://www.everyjoe.com/ newlinuxuser / spiegare-cosa-è-setuid-e-setgid /

L'iPhone SDK non consente questo. L'applicazione è tenuta stagna e non è permesso di andare al di fuori della sandbox che se non in modi molto specifici forniti da Apple. L'unico modo per fare questo su un iPhone è quello di jailbreak.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top