Fórum Root.cz
Hlavní témata => Distribuce => Téma založeno: mc 04. 05. 2013, 13:35:58
-
Provozuji na Androidu Linux pod chrootem. Konkrétně jde o Debian nainstalovaný pomocí velmi dobré aplikace Linux Deploy.
Jsem nadšen možností provozovat offline webové aplikace v Perl (FastCGI) díky možnosti mít na stejném zařízení v chroot Linuxu například nginx, mysql a perl a v klasickém prostředí Androida rozjetý Firefox.
Žel občas narazím na nějaký problém související s právy. Někteří uživatelé v chroot prostředí nemohou provádět některé věci. Například zkoušel jsem resolvovat jméno serveru na IP adresu příkazem: "host JMENOSTROJE". Uživatel root (uid 0) a android (uid 5000) nemají problém, ale jiným uživatelům (s jiným uid to není umožněno) a končí to hláškou:
net.c:142: socket() failed: Permission denied
net.c:142: socket() failed: Permission denied
host: can't find either v4 or v6 networking
Má někdo zkušenosti co učinit aby u konkrétního uid, které budu chtít, výše uvedené problémy nebyly? Rád bych se dozvěděl více jak mohu (jako root) v chroot prostředí nastavovat práva pro různé uživatele, aby například měli přístup k síti.
-
Podařilo se mi najít řešení. Je třeba přiřadit uživatele v chroot prostředí do skupiny aid_inet (gid 3003):
usermod -G -a aid_inet $YOUR-USER
Více zde:
https://blog.tuinslak.org/socket-permission-denied
nebo zde:
http://serverfault.com/questions/252261/network-access-issues-after-upgrading-to-squeeze
Nyní řeším jak ovlivnit práva pro /dev/ttyUSB0. Zařízení vznikne po zasunutí převodníku serial(RS232)->usb. Žel netuším jak tohle v Androidu ovlivnit - nevím co tu hraje roli udev. Pokud někdo ví nechť dá prosím vědět.