我想使用 PHP 脚本重启我的 TOR 服务,以便获得新的 IP 地址。我计划这样做的原因是 Google 和其他一些网站有时会开始屏蔽我。
我尝试过这样的脚本
shell_exec ("sudo service tor restart")
exec ("sudo service tor restart")
和system ("sudo service tor restart")
...但这些都不起作用。
有人可以提示我该怎么做吗?
答案1
您必须设置 sudo 才能实现这一点。Apache 用户应该有权使用 sudo 以 root 身份执行命令。另外,php 脚本中没有 tty,因此您必须在 sudo 中禁用 tty 要求。而且您无法在 php 脚本中输入用户密码来执行 sudo,因此您还必须禁用身份验证。
为此,请将“service tor restart”放入文本文件并使其可执行。这更安全,意味着 apache 用户只能重新启动 TOR,而不能执行其他任何操作。然后在 /etc/sudoers 中注释掉以下行:
Defaults requiretty
添加行:
Defaults !authenticate
apache ALL=NOPASSWD: /path/to/file
代替阿帕奇和www-数据如果你使用类似 Debian 的发行版
现在您可以从 php 脚本执行“sudo service tor restart”。