2016-08-16 3 views
1

J'ai configuré un système LFS et je dois avoir raté une étape quelque part. Je ne peux résoudre les noms d'hôtes que si je suis root:Autorisation refusée lors de l'ouverture d'une socket ou de l'utilisation d'un résolveur

$ host 6thstreetradio.org 
net.c:150: socket() failed: Permission denied 
net.c:150: socket() failed: Permission denied 
host: can't find either v4 or v6 networking 
$ sudo host 6thstreetradio.org 
Password: 
6thstreetradio.org has address 67.246.2.103 
6thstreetradio.org mail is handled by 5 6thstreetradio.org. 

!? Ai-je manqué une permission quelque part dans le système de fichiers proc? Autre chose? Les recherches Google n'aboutissent à rien, mais je cherche probablement la mauvaise chose. La référence de code dans net.c échoue sur la création de socket simple:

s = socket(domain, SOCK_STREAM, 0); 

Des indices?

Répondre

2

Avez-vous défini l'indicateur "CONFIG_ANDROID_PARANOID_NETWORK"? Vous pouvez vérifier les détails ici: serverfault.com. Si oui, s'il vous plaît essayez ceci:

groupadd -g 3003 aid_inet 
usermod -G -a aid_inet $YOUR-USER 

Veuillez également vérifier la permission des fichiers binaires et les fichiers de configuration.

+0

Je pense que vous l'avez: $ sch-i405_kernel> grep PARANOÏDE .config CONFIG_ANDROID_PARANOID_NETWORK = y # CONFIG_MMC_PARANOID_SD_INIT est pas défini –

+0

La chose usermod n'a pas fonctionné, mais ce n'est pas surprenant puisque c'est un sous-système Linux en cours d'exécution sur Android. Je vais essayer de reconstruire le noyau et voir si cela fonctionne. –

+1

YAY! CORRECTION: J'ai oublié de faire 'newgrp aid_inet' par utilisateur après avoir ajouté le groupe. Ce doit être un nom magique reconnu par le noyau. Après cela, l'utilisateur normal en tant qu'accès au réseau. Coche appliquée. –