Existe-t-il un moyen de définir des alias d'hôte (comme dans /etc/hosts
) par utilisateur, c'est-à-dire dans un fichier /home/user/.hosts
?
Mon objectif principal est de partager facilement des alias d'hôte via rsync entre les machines de mon petit réseau local. Comme il n'y a pas de machine qui sera toujours connectée de manière fiable, un serveur DNS n'est pas une option (non?).
Je vous remercie.
linux
local-area-network
hosts
mrucci
la source
la source
alias ssh="ssh "
votre .bashrc (notez les espaces blancs à la fin de l'alias) avecalias myhost="[email protected]"
et ensuite vous pouvez diressh myhost
et cela fonctionnera.~/.ssh/config
où vous ajoutez les lignes:Host my-host
etHostname 10.0.0.xxx
<- IP de la machine. La bonne chose est qu'il vous permet également de spécifier le nom d'utilisateur, le port, la clé à utiliser, etc.Réponses:
Une meilleure solution serait d'installer Avahi et libnss-mdns, puis d'utiliser des
HOSTNAME.local
adresses.Ces noms ne seraient pas par utilisateur, mais résoudraient votre objectif déclaré d'avoir des noms communs pour toutes les machines d'un réseau local.
la source
ping hostnameAlias
) sans privilèges root. Avahi fait presque le bon travail, car je peux utiliser la machine $ HOSTNAME comme alias. Juste pour la curiosité: où se fait cette cartographie?Voir https://github.com/figiel/hosts pour un moyen de faire exactement ce que vous demandez.
Il s'agit d'une petite bibliothèque, chargée via LD_PRELOAD et qui remplace gethostbyname () et plusieurs fonctions connexes que les programmes utilisent pour la résolution DNS. Cela fonctionne bien pour moi. La seule mise en garde que j'ai trouvée est que le navigateur Web Chrome n'utilise pas la résolution DNS native, mais implémente plutôt son propre client DNS. Pour résoudre ce problème, vous devez désactiver le client DNS de Chrome .
la source
L'implémentation de la glibc Linux ne peut pas faire cela.
Mais vous pouvez l'étendre avec une bibliothèque nss qui le pourrait. Ce serait facile à écrire car vous pourriez arracher la partie pertinente de libc qui se trouve dans le répertoire nss_files de
http://ftp.gnu.org/gnu/glibc/glibc-2.5.tar.bz2
Par exemple
Ce serait, cependant, une chose non standard assez étrange à faire.
la source
Si vous aviez deux machines qui fonctionneraient la plupart du temps, vous pourriez tenir BIND sur chacune d'elles et en faire les serveurs DNS ... ou en obtenir une ( http://www.marvell.com/products/embedded_processors/ développeur / kirkwood / sheevaplug.jsp ).
Utilisez BIND dessus pour servir votre toujours sur DNS.
la source
Comme le décrivent les autres réponses de cette page, il existe des moyens d'obtenir des fonctionnalités similaires, mais:
Non, il n'y a pas de fichier "par utilisateur" comme
/etc/hosts
ou de toute autre manière pour remplacer la résolution de nom par défaut en tant qu'utilisateur non privilégié dans GNU / Linux.la source
Il semblerait beaucoup plus facile d'écrire un script qui détermine quels hôtes sont actifs, puis définit le nom d'hôte pour la commande rsync suivante. Quelque chose comme ça
Ceci n'est pas testé et a des hypothèses, vous devrez donc le modifier en fonction.
la source
rsync src olivia:/dst