como usuário não-root, posso alterar o DNS para mim no linux? [fechadas]

1

O ambiente é redhat

Eu não tem privilégio

mas agora /etc/resolv.conf é:

# Generated by NetworkManager


# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com

Posso alterar meu DNS apenas para mim, usuário único?

Como posso fazer isso?

    
por zh19970205 24.05.2016 / 09:55

1 resposta

1

Geralmente não. No entanto, há casos especiais em que você pode criar um programa que use LD_PRELOAD para fingir que a biblioteca de tempo de execução C possui permissão (e sua própria configuração).

Isso é mencionado em Testando sua pilha de software sem privilégios de root usando o cwrap :

The newest addition to the cwrap.org family so far is resolv_wrapper. This library makes it possible to test applications that use the libresolv API — a typical example would be a program that uses SRV DNS records to locate a server to connect to. This wrapper is diffent from nss_wrapper’s host support that wraps the NSS calls such as getaddrinfo(). In comparison, the resolv_wrapper support the libresolv low-level API.

resolv_wrapper allows you to either set up a custom DNS server and point the test to this server with an environment variable or even set up a fake DNS database file that the application will use to construct test DNS replies. The first option is useful for testing DNS servers or integrated servers that include DNS, such as FreeIPA or Samba. The second option is more useful for testing clients where you need to test auto-discovery of services from a client.

O artigo continua dizendo que mostrará um exemplo completo (mas é apenas um fragmento). Você pode achar uma solução completa difícil de implementar.

    
por 24.05.2016 / 10:27

Tags