Я - оператор сервера 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 и вытереть всю его папку, затем переустановив его. То же самое.
Я устанавливаю через конфетку из репозитория Проекта TOR.
С 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
После изменяющегося владельца каталога для укоренения:
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.
Вам необходимо проверить три вещи:
Правильное владение файлом.
Если вы используете 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 =
найти / var / lib / tor / hidden_service -type f | xargs chmod u + rw, go =
Контексты SELinux должны быть установлены правильно. В последних выпусках RHEL / CentOS к Tor применяется политика SELinux.
Чтобы исправить неработающие метки SELinux:
restorecon -r -v / var / lib / tor
Вероятно, ваша проблема связана с SELinux. Нет, я не собираюсь устанавливать его на разрешающий
(ненавижу этот ответ по умолчанию). Это связано с подкаталогом и контекстом, в котором выполняется сценарий init.d (я думаю). Возможно, вы сможете исправить это, создав настоящую запись в systemd, но не на 100%.
У меня возникла эта проблема, и я выбрал простое решение, которое работает, поскольку у меня есть только 1 скрытая служба. Не уверен, вызывает ли это проблему с кратными или нет (я подозреваю, что может). Кроме того, вы можете потратить время на отладку проблемы контекста. Это было бы лучшим решением, но если у вас есть только одна служба, вы можете просто:
Заменить:
/var/lib/tor/hidden_service/
на:
/var/lib/tor/
и все готово.