Я являюсь оператором XMPP-сервера на Dark.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.
Вероятно, ваша проблема связана с 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