2017-08-09 3 views
1

Ich versuche, einen HTTP-Server zu meinem benutzerdefinierten ROM hinzuzufügen, das auf 5.1 basiert. Ich schaffte lighttpd binär in system/xbin über PRODUCT_COPY_FILES in device.mk und in der Lage, es erfolgreich in Gerät in eng build auszuführen. Server hört Port 80.AOSP: Android privilaged Port, Dateigruppe und Startdienst

Aber im Benutzerbuild kann der Server nicht an binden. Wenn diese Option aktiviert ist, ist Dateiinhaber/Gruppe root/shell. Ist das der Grund, dass Port 80 nicht erlaubt ist? Wie kann ich beim Platzieren der Binärdatei zu root/root wechseln? Gibt es eine alternative Methode, um an 80 zu binden?

EDIT-1

Eine weitere Option Ich habe versucht, ist iptables zu verwenden .. aber auch hier die Erlaubnis verweigert. Gibt es eine Möglichkeit, eine iptable-Regel in Android-Source hinzuzufügen und zu bauen?

Lesen Sie auch über 'Linux-Konfiguration aktualisieren', um Port 80 als nicht-privilegierten Port zu markieren .. aber konnte nicht herausfinden, wie so dies.

Vielen Dank im Voraus.

Antwort

2

Sie sollten es nicht als root auf Port 80 laufen lassen. Dies kann zu einer Sicherheitsverletzung führen.

entweder auf einem höher als 1024 Port laufen, oder diese answer lesen, besonders den Teil, der erklärt, wie su

+0

danke für die Antwort verwenden. Ich habe ein paar andere Systeme, die versuchen, eine Verbindung zu Port 80 herzustellen. Daher dieser Versuch. Innerhalb von 6 Monaten würden wir diese aktualisieren, um auf einen höheren Port zu zeigen. Ich habe versucht über su .. aber kein Glück. Immer noch Port 80 wird verweigert. Interessanterweise ist su auch root: Shell. Sieht aus wie lighttpd als root zu ändern: root ist die einzige Option. – user2257682

+0

wenn selinux auf diesem Android-Gerät aktiviert ist. Sie müssen sich auch damit befassen. – ApriOri

+0

Ich verwaltete root: root für su mit android_filesystem_config.h. Setzen Sie auch Erlaubnis als 6755. Aber zu meiner Überraschung ist Hafen 80 noch nicht erlaubt. Außerdem kann su keine andere Datei in system/xbin setzen. Welcher andere Aspekt wäre der Verwahrungsort? Wie ich bereits erwähnt habe, ist Port 80 im engeren Build offen. SELinux ist deaktiviert. – user2257682