Question

Je dois écrire un programme C qui me permettra de lire des fichiers / d'écriture qui appartiennent à la racine. Cependant, je ne peux exécuter le code sous un autre utilisateur. J'ai le mot de passe root, mais il n'y a pas « sudo » ou commandes « su » sur le système, donc je n'ai aucun moyen d'accéder au compte root (il y a des commandes pratiquement shell pas que ce soit, en fait). Je ne sais beaucoup sur les autorisations UNIX, donc je ne sais pas pas si oui ou non il est en fait possible de le faire sans exploiter le système d'une manière ou d'exécuter un programme appartenant à lui-même racine (avec + s ou autre) . Un conseil?

Merci!

P.S. Non, ce n'est pas quoi que ce soit malveillant, c'est sur un iPhone.

Était-ce utile?

La solution

Dans le système d'autorisations UNIX, vous devez exécuter un fichier appartenant à root lui-même qui est marqué setuidroot (+ s, comme vous le dites) ou communiquer avec un processus qui est déjà en cours d'exécution en tant que root.

S'il n'y a pas un tel fichier, vous êtes hors de la chance.

Autres conseils

Vous pouvez le faire avec le bit suid à l'application, mais si vous voulez de cette c application exécuter une certaine coquille c'est être lancée sur l'utilisateur local si vous le faites normalement c'est le système de sécurité.

Cependant, vous pouvez read/write/execute les fichiers appartenant à root, mais si l'utilisateur n'est pas dans le groupe de fichier de votre fichier cible doit avoir setted read/write/execute sur le dernier 3 bits ou lorsque votre utilisateur est dans le groupe propriétaire du fichier, vous devez vérifier / appliquer à 3 bits en position médiane. (3 premiers bits paramètres soient propriétaire mais cela ne peut pas par une information utile pour vous).

Si vous n'avez pas accès au compte root. Ensuite, si le groupe et d'autres autorisations utilisateur DonT fonctions d'accès que vous devez avoir, vous ne pouvez pas faire avec ce tout, sauf essayer obtenir certains utilisateurs prilveaged pour accéder à ce fichier. Dans d'autres cas, vous pouvez faire des corrections dans les autorisations d'accès aux fichiers, mais pas de ce système, vous devez obtenir le disque dur de cet appareil et attacher à d'autres pour le changer ou charge sur cet appareil un peu en direct système pour changer cette situation. vous pouvez toutefois le faire sur le système privleaged pas sur ce point.

Plus d'informations sur SUID bits vous pouvez trouver à:

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

http://www.everyjoe.com/ newlinuxuser / expliquer-what-is-setuid-et-GID /

L'iPhone SDK ne permet pas. Votre application est sandbox et il ne peut pas aller à l'extérieur de ce bac à sable, sauf de façon très spécifique fournis par Apple. La seule façon de le faire sur un iPhone est de jailbreak.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top