Je veux exécuter deux instances de proxies client dnscrypt, mais j'ai du mal à les faire démarrer automatiquement au démarrage. Voici ce que j'ai essayé:
Dans rc.local
, c'est le premier:
/usr/local/sbin/dnscrypt-proxy -a 127.0.0.1:40 -u _dnscrypt-proxy -d -l /dev/null -R dnscrypt.eu-dk
et le second:
/usr/local/sbin/dnscrypt-proxy2 -a 127.0.0.1:41 -u _dnscrypt-proxy2 -d -l /dev/null -R dnscrypt.org-fr
J'ai un cd
/usr/local/sbin
et cp dnscrypt-proxy dnscrypt-proxy2
fait un cp dnscrypt-proxy dnscrypt-proxy2
et puis quand j'ai redémarré j'obtiendrais [ERROR] Unknown User : [dnscrypt-proxy2].
Puis j'ai cherché et vu cette question puis j'ai édité manuellement /etc/passwd
et ajouté un nouvel user en copiant soigneusement l'user _dnscrypt-proxy
par défaut et changé l'ID, comme maintenant il a ces 2 inputs:
_dnscrypt-proxy:*688:688:dnscrypt-proxy user:/var/empty:/sbin/nologin _dnscrypt-proxy2:*689:689:dnscrypt-proxy2 user:/var/empty:/sbin/nologin`
Et quand je redémarre, l'erreur Unknown User persiste toujours. Un ls
rapide sur le dossier me montre que j'ai dupliqué le dossier. Ps aux
me montre que le démon n'a pas démarré. Une search sur Google ne m'aide pas alors je me suis tourné vers les experts Linux ici. Mon OS est OpenBSD 5.7.
Tout d'abord , voici la réponse spécifique à votre question de pourquoi l'erreur inconnue d'user persiste: L'erreur était dans la façon dont vous avez créé l'user. Il y a plus de files qui doivent être corrigés que juste /etc/passwd
.
Le moyen le plus simple de créer correctement l'user serait simplement de supprimer cette ligne de /etc/passwd
, puis d'exécuter adduser -noconfig -shell -/sbin/nologin
place. (Et quand vous éditez / etc / passwd, utilisez vipw
au lieu de simplement vi /etc/passwd
– voir la page man pour l'explication!)
Deuxièmement , vous n'avez vraiment pas besoin de créer un deuxième user. Vous pouvez exécuter le même programme deux fois sans avoir une copy du programme ou un deuxième user pour l'exécuter sous. Ce que vous devez faire pour exécuter un second démon avec le même user et le même binary mais avec des parameters différents est simple:
Voilà – tu es prêt à courir!
Quelques points:
dnscrypt-proxy
– il suffit de l'appeler plusieurs fois avec différentes options _dnscrypt-proxy2
, avez-vous également créé leur groupe principal? Je vois que l'user a un GID différent de _dnscrypt-proxy
( 689
au lieu de 688
) mais vous n'avez pas mentionné la copy du groupe. Sinon, créez le groupe manquant. Vous pouvez le faire en éditant /etc/group
et en ajoutant l'input manquante (je devine en copiant l'input pour le groupe _dnscrypt-proxy
). Le point 2 devrait résoudre votre problème.
de la page de manuel rcctl(8)
:
La méthode recommandée pour exécuter une deuxième copy d'un démon donné dans un but différent est de créer un lien symbolique vers son script de contrôle rc.d (8):
# ln -s /etc/rc.d/snmpd /etc/rc.d/snmpd6 # rcctl set snmpd6 status on # rcctl set snmpd6 flags -D addr=2001:db8::1234 # rcctl start snmpd6