G
gmo18t
Neues Mitglied
- 0
Hi,
ich habe folgenden Weg herausgefunden, wie man cifs mounts auf einem
gerooten P600 mit CND2 ROM (stock) durchführen kann, die dann auch
wirklich für alle APPs sichtbar (und beschreibbar) sind.
Hier erst mal auf die Schnelle eine Beschreibung mit den erforderlichen
Schritten in sehr kurzgefasster Form, d.h. ein gewisses Grundwissen ist
zum Verständnis erforderlich (einfach fragen, wenn unklar):
1. Vorraussetzungen.
- Stock ROM CND2 Kit Kat 4.4.2 gerootet mit cf-auto-root
- TWRP Recovery installiert
- busybox (in /system/xbin)
2. Kernel mit cifs Unterstützung installieren
Folgender Kernel (version 0.6) hat cifs eingebaut und läuft bei mir stabil:
[Kernel] [KK 4.4.2] [SM-P600] Xluco Kernel 0.6 - xda-developers
Er kann mit TWRP recovery installiert werden.
3. Umkonfigurieren des Startvorgangs
Möglichkeit A)
-------------
init.rc in "boot.img" (Kernel-Image Partition) anpassen, z.B. initd Funktion
ergänzen. Dies ist etwas aufwendiger, da dazu der Inhalt der Ramdisk
angepasst werden muss. Anleitungen gibt's im Inet.
Möglichkeit B) [empfohlen]
-------------
im init.rc des Stock Roms wird ein Service aufgerufen, der das Script
/system/bin/selinux-network.sh startet. Diese Script macht in der
vorliegenden Version gar nichts (ist alles auskommentiert) und eignet
sich daher sehr gut für unser Vorhaben.
Um mounts für alle APPs sichtbar zu machen(!), ist die einfachste Variante,
sie von einem Prozess, der direkt von "init" initiert wurde, zu launchen.
Dazu wird in diesem Script einfach der busybox telnetd gestartet.
Dieser ist dann später via simplem "telnet client" erreichbar und man
landet in einer "voll priviligierten" Session.
(Wer es sicherer haben will, kann sich ein sshd für P600 suchen und auf die
gleiche Art ans Laufen bringen)
Hier nun das Script (selinux-network.sh) in der abgeänderten Form:
Wichtig ist auch das Umschalten von se-linux auf "Permissive", damit
später der mount Befehl funktioniert (siehe Script: /system/bin/setenforce Permissive)
Wenn alles korrekt konfiguriert wurde kann neu gestartet werden.
4. Check (Telnet Session / se-linux Permissive)
Nach dem Restart kann man in den settings unter Info prüfen, ob
se-linux nun nicht mehr auf "enforced" sondern "permissive" steht.
Dann kann man mit einem geeigneten "telnet client" auf dem pad selbst
nach localhost oder remote auf die enstprechnde IP verbinden.
Es sollte direkt eine "shell-Session" verfügbar sein ohne Login
(!unsicher, aber zur Demonstration sehr gut geeignet).
5. Mount-Befehl
ich verwende dazu ein Script in der Art:
Die mount targets müssen unbedingt im root-filesystem neu angelegt
werden, sonst klappt das mit der "APP" Sichtbarkeit nicht".
(Nach einem Neustart sind sie wieder weg)
Es muss busybox mount verwendet werden, sonst stimmt die Syntax nicht !
Evtl. muss je nach Samba Server die Option "sec=ntlm" variiert werden, z.B.
"sec=ntlmv2" (siehe auch manual zu cifs.mount im Inet)
Falls ich nichts vergessen habe, war's das für's Erste.
Also viel Spass !
- GMo -
ich habe folgenden Weg herausgefunden, wie man cifs mounts auf einem
gerooten P600 mit CND2 ROM (stock) durchführen kann, die dann auch
wirklich für alle APPs sichtbar (und beschreibbar) sind.
Hier erst mal auf die Schnelle eine Beschreibung mit den erforderlichen
Schritten in sehr kurzgefasster Form, d.h. ein gewisses Grundwissen ist
zum Verständnis erforderlich (einfach fragen, wenn unklar):
1. Vorraussetzungen.
- Stock ROM CND2 Kit Kat 4.4.2 gerootet mit cf-auto-root
- TWRP Recovery installiert
- busybox (in /system/xbin)
2. Kernel mit cifs Unterstützung installieren
Folgender Kernel (version 0.6) hat cifs eingebaut und läuft bei mir stabil:
[Kernel] [KK 4.4.2] [SM-P600] Xluco Kernel 0.6 - xda-developers
Er kann mit TWRP recovery installiert werden.
3. Umkonfigurieren des Startvorgangs
Möglichkeit A)
-------------
init.rc in "boot.img" (Kernel-Image Partition) anpassen, z.B. initd Funktion
ergänzen. Dies ist etwas aufwendiger, da dazu der Inhalt der Ramdisk
angepasst werden muss. Anleitungen gibt's im Inet.
Möglichkeit B) [empfohlen]
-------------
im init.rc des Stock Roms wird ein Service aufgerufen, der das Script
/system/bin/selinux-network.sh startet. Diese Script macht in der
vorliegenden Version gar nichts (ist alles auskommentiert) und eignet
sich daher sehr gut für unser Vorhaben.
Um mounts für alle APPs sichtbar zu machen(!), ist die einfachste Variante,
sie von einem Prozess, der direkt von "init" initiert wurde, zu launchen.
Dazu wird in diesem Script einfach der busybox telnetd gestartet.
Dieser ist dann später via simplem "telnet client" erreichbar und man
landet in einer "voll priviligierten" Session.
(Wer es sicherer haben will, kann sich ein sshd für P600 suchen und auf die
gleiche Art ans Laufen bringen)
Hier nun das Script (selinux-network.sh) in der abgeänderten Form:
#!/system/bin/sh
# mod start
/system/bin/setenforce Permissive
/system/xbin/telnetd -l /system/bin/sh
# mod end
IPTABLES="/system/bin/iptables"
...
# mod start
/system/bin/setenforce Permissive
/system/xbin/telnetd -l /system/bin/sh
# mod end
IPTABLES="/system/bin/iptables"
...
später der mount Befehl funktioniert (siehe Script: /system/bin/setenforce Permissive)
Wenn alles korrekt konfiguriert wurde kann neu gestartet werden.
4. Check (Telnet Session / se-linux Permissive)
Nach dem Restart kann man in den settings unter Info prüfen, ob
se-linux nun nicht mehr auf "enforced" sondern "permissive" steht.
Dann kann man mit einem geeigneten "telnet client" auf dem pad selbst
nach localhost oder remote auf die enstprechnde IP verbinden.
Es sollte direkt eine "shell-Session" verfügbar sein ohne Login
(!unsicher, aber zur Demonstration sehr gut geeignet).
5. Mount-Befehl
ich verwende dazu ein Script in der Art:
#!/system/bin/sh
if [ ! -d "/cifs" ]
then
/system/xbin/mount -o rw,remount /
/system/bin/mkdir -p /cifs/myshare
/system/bin/chmod 0777 /cifs /cifs/myshare
/system/bin/chown root.sdcard_rw /cifs /cifs/myshare
/system/xbin/mount -o ro,remount /
fi
/system/xbin/mount -o rw,user=<dein-user>,password=<dein-passwort>,sec=ntlm,noperm,forcegid,gid=1015 -t cifs //<server-ip>/myshare /cifs/myshare
if [ ! -d "/cifs" ]
then
/system/xbin/mount -o rw,remount /
/system/bin/mkdir -p /cifs/myshare
/system/bin/chmod 0777 /cifs /cifs/myshare
/system/bin/chown root.sdcard_rw /cifs /cifs/myshare
/system/xbin/mount -o ro,remount /
fi
/system/xbin/mount -o rw,user=<dein-user>,password=<dein-passwort>,sec=ntlm,noperm,forcegid,gid=1015 -t cifs //<server-ip>/myshare /cifs/myshare
werden, sonst klappt das mit der "APP" Sichtbarkeit nicht".
(Nach einem Neustart sind sie wieder weg)
Es muss busybox mount verwendet werden, sonst stimmt die Syntax nicht !
Evtl. muss je nach Samba Server die Option "sec=ntlm" variiert werden, z.B.
"sec=ntlmv2" (siehe auch manual zu cifs.mount im Inet)
Falls ich nichts vergessen habe, war's das für's Erste.
Also viel Spass !
- GMo -
Zuletzt bearbeitet: