Запуск TOR на Centos 6
Я оператор XMPP-сервера на darkness.su. Сервер работает на Centos 6.
Я установил TOR и настроил его для предоставления скрытого доступа службы к серверу. Сначала он работал нормально, но с тех пор, как несколько месяцев назад произошло обновление, он начал давать мне следующие ошибки:
799 May 25 14:19:37.060 [warn] Permissions on directory /var/lib/tor/hidden_service are too permissive.
800 May 25 14:19:37.060 [warn] Failed to parse/validate config: Failed to configure rendezvous options. See logs for details.
801 May 25 14:19:37.060 [err] Reading config failed--see warnings above.
Я попытался проверить журналы, но не могу найти их, и установка одного из них, похоже, не работает. Я попытался удалить TOR и стереть все его папки, а затем переустановить. То же самое.
Я устанавливаю через yum из репозитория TOR Project.
С chmod 700 в скрытом сервисном каталоге (принадлежит TOR):
Jul 24 21:39:05.573 [warn] Directory /var/lib/tor/hidden_service/ cannot be read: Permission denied
Jul 24 21:39:05.573 [warn] Failed to parse/validate config: Failed to configure rendezvous options. See logs for details.
Jul 24 21:39:05.573 [err] Reading config failed--see warnings above
После смены владельца каталога на root:
Jul 24 22:11:36.236 [warn] /var/lib/tor/hidden_service/ is not owned by this user (_tor, 496) but by root (0). Perhaps you are running Tor as the wrong user?
Jul 24 22:11:36.236 [warn] Failed to parse/validate config: Failed to configure rendezvous options. See logs for details.
Jul 24 22:11:36.236 [err] Reading config failed--see warnings above.
2 ответа
Ваша проблема, вероятно, с SELinux. Нет, я не собираюсь говорить, чтобы установить его permissive
(Я ненавижу этот ответ по умолчанию). Это связано с подкаталогом и контекстом, в котором выполняется сценарий init.d (я думаю). Вы можете исправить это, создав настоящую запись systemd, но не уверены на 100%.
У меня была эта проблема, и я выбрал простое решение, которое работает, поскольку у меня есть только 1 скрытый сервис. Не уверен, если это вызывает проблему с кратными или нет (я подозреваю, что это может). Кроме того, вы можете потратить время на отладку проблемы контекста. Это было бы лучшим решением, но если бы у вас был только один сервис, вы могли бы просто:
Изменить:
/var/lib/tor/hidden_service/
чтобы:
/var/lib/tor/
и будет сделано.
Вам нужно проверить три вещи:
Владение файлом должно быть правильным.
Если вы используете Tor с torproject.org, это должно быть
_tor
, Если вы используете Tor из EPEL или Fedora, это должно бытьtoranon
,chown -R _tor:_tor /var/lib/tor
или же
chown -R toranon:toranon /var/lib/tor
Разрешения должны быть правильными.
Скрытый каталог службы должен быть доступен для чтения только пользователю Tor.
find /var/lib/tor/hidden_service -type d | xargs chmod u+rwx,go= find /var/lib/tor/hidden_service -type f | xargs chmod u+rw,go=
Контексты SELinux должны быть установлены правильно. В последних выпусках RHEL/CentOS к Tor применена политика SELinux.
Чтобы исправить испорченные ярлыки SELinux:
restorecon -r -v /var/lib/tor