在 Debian 6 中,如何以不同用户身份启动守护进程?

在 Debian 6 中,如何以不同用户身份启动守护进程?

我正在尝试以另一个用户身份启动 Tor 守护进程。安装时,Tor 会自动创建一个新用户“debian-tor”,但是,它不会以该用户身份运行,而是以 root 身份运行。

在 Debain 5 中,我使用 Update-rc.d 从启动中删除了 Tor,并添加了一个新的启动脚本,该脚本基本上执行su debian-tor -c '/etc/init/tor $1'.这非常有效,但在 Dabian 6 中(使用 insserv 而不是 update-rc.d)它要求debiantor的密码(尽管以 root 身份运行)。

我在这里不知所措,我的 iptables 只有在 Tor 以不同用户身份运行时才能工作,并且不以 root 身份运行它更安全。我能做些什么?

答案1

服务通常以 root 身份运行。但是,您有 2 个选择:

  1. 您有某种脚本可以以该用户身份启动服务。有几种方法可以实现这一点。您可以执行以下操作:

    sudo -u debian-tor /etc/init.d/service
    

    然后将 debian-tor 添加到此命令的 sudoer 文件中

  2. 您可以将 stop-start-daemon 与 --chuid 选项一起使用。

相关内容