我想运行两个dnscrypt客户端代理实例,但在引导时使它们自动启动有困难。以下是我尝试过的:
在rc.local中,这是第一个:
/usr/local/sbin/dnscrypt-proxy -a 127.0.0.1:40 -u _dnscrypt-proxy -d -l /dev/null -R dnscrypt.eu-dk第二项是:
/usr/local/sbin/dnscrypt-proxy2 -a 127.0.0.1:41 -u _dnscrypt-proxy2 -d -l /dev/null -R dnscrypt.org-fr我cd到/usr/local/sbin,做了一个cp dnscrypt-proxy dnscrypt-proxy2,然后当我重新启动时,我会得到[ERROR] Unknown User : [dnscrypt-proxy2].
然后我搜索并看到了这个问题,然后手动编辑了/etc/passwd,并添加了一个新用户仔细复制默认的_dnscrypt-proxy用户并更改了id,因为它现在有以下两个条目:
_dnscrypt-proxy:*688:688:dnscrypt-proxy user:/var/empty:/sbin/nologin
_dnscrypt-proxy2:*689:689:dnscrypt-proxy2 user:/var/empty:/sbin/nologin`当我重新启动时,未知的用户错误仍然存在。文件夹上的快速ls显示我确实复制了该文件夹。Ps aux向我展示了守护进程尚未启动。谷歌搜索对我没有帮助,所以我求助于这里的Linux专家。我的操作系统是OpenBSD 5.7。
发布于 2015-07-16 07:36:34
首先,以下是对未知用户错误为什么仍然存在的问题的具体回答:错误在于如何创建用户。有更多的文件需要修复,而不仅仅是/etc/passwd。
正确创建用户的最简单方法是将该行从/etc/passwd中移除,然后运行adduser -noconfig -shell -/sbin/nologin。(编辑/etc/passwd时,请使用vipw而不是vi /etc/passwd --请参阅手册页以获得解释!)
第二,您实际上不需要创建第二个用户。您可以运行同一程序两次,而不需要程序的副本或运行该程序的第二个用户。使用相同的用户和二进制(但设置不同)运行第二个守护进程所需的操作非常简单:
你准备好逃跑了!
发布于 2015-07-16 07:29:22
以下几点:
dnscrypt-proxy二进制文件--只需使用不同的选项多次调用它即可_dnscrypt-proxy2用户时,您是否也创建了他们的主组?我看到用户的GID不同于_dnscrypt-proxy (689而不是688),但是您没有提到复制组。如果没有,请创建缺少的组。您可以通过编辑/etc/group和添加缺少的条目(我猜是通过复制组_dnscrypt-proxy的条目来实现这一点)。第2点应该能解决你的问题。
发布于 2016-07-23 18:04:51
来自rcctl(8)手册页:
为不同目的运行给定守护进程的第二个副本的推荐方法是创建到其rc.d(8)控制脚本的符号链接:# ln -s /etc/rc.d/snmpd /etc/rc.d/snmpd 6# rcctl设置# rcctl snmpd6标志-D addr=2001:db8::1234 # rcctl start snmpd6上的snmpd6状态。
https://unix.stackexchange.com/questions/216381
复制相似问题