Я установил Скалистую вершину на Ubuntu 14.04 согласно инструкциям в https://www.torproject.org/docs/debian.html.en
Я настроил основное реле и работу, но у меня есть проблемы разрешения файла с полномочиями файла скрытого сервиса private_key и файлы имени хоста. Скалистая вершина запускается как корень, она сделает некоторое волшебство, и затем она отбрасывает себя для выполнения как "debian-скалистая-вершина".
Полномочия файла:
sudo ls -l /home/debian-tor /home/debian-tor/tor_keys =>
/home/debian-tor:
total 4
drwx------ 2 debian-tor debian-tor 4096 Jul 17 10:59 tor_keys
/home/debian-tor/tor_keys:
total 8
-rw------- 1 debian-tor debian-tor 23 Jul 17 10:59 hostname
-rw------- 1 debian-tor debian-tor 891 Jul 16 17:52 private_key
Запуск как услуга (не работает):
sudo service tor start =>
[notice] Tor 0.2.6.10 (git-71459b2fe953a1c0) opening new log file.
[warn] Could not open "/home/debian-tor/tor_keys/private_key": Permission denied
[warn] Error reading private key from "/home/debian-tor/tor_keys/private_key"
[err] Error loading private key.
[warn] Error loading rendezvous service keys
[err] set_options(): Bug: Acting on config options left us in a broken state. Dying.
Запуск с командной строки (работы!):
sudo tor =>
[notice] Tor 0.2.6.10 (git-71459b2fe953a1c0) opening log file.
[notice] Tor v0.2.6.10 (git-71459b2fe953a1c0) running on Linux with Libevent 2.0.21-stable, OpenSSL 1.0.1f and Zlib 1.2.8.
[notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
[notice] Read configuration file "/etc/tor/torrc".
[notice] Opening Control listener on 127.0.0.1:9052
[notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
[notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
[notice] Bootstrapped 0%: Starting
...
[notice] Bootstrapped 100%: Done
Тест, чтобы сделать, чтобы другой пользователь владел файлами (это показывает, что скалистая вершина действительно работает как debian-скалистая-вершина):
sudo chown -R ubuntu_user:ubuntu_user /home/debian-tor
sudo service tor start =>
* Checking if tor configuration is valid
Jul 17 12:23:06.811 [notice] Tor v0.2.6.10 (git-71459b2fe953a1c0) running on Linux with Libevent 2.0.21-stable, OpenSSL 1.0.1f and Zlib 1.2.8.
Jul 17 12:23:06.811 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Jul 17 12:23:06.811 [notice] Read configuration file "/usr/share/tor/tor-service-defaults-torrc".
Jul 17 12:23:06.811 [notice] Read configuration file "/etc/tor/torrc".
Jul 17 12:23:06.814 [warn] /home/debian-tor/tor_keys is not owned by this user (debian-tor, 108) but by ubuntu_user (1000). Perhaps you are running Tor as the wrong user?
Jul 17 12:23:06.814 [warn] Failed to parse/validate config: Failed to configure rendezvous options. See logs for details.
Jul 17 12:23:06.814 [err] Reading config failed--see warnings above.
Попытка получить Скалистую вершину воссоздает ключи:
sudo rm -r /home/debian-tor/tor_keys
sudo service tor start =>
[notice] Tor 0.2.6.10 (git-71459b2fe953a1c0) opening log file.
[warn] Error creating directory /home/debian-tor/tor_keys: Permission denied
[warn] Error loading rendezvous service keys
[err] set_options(): Bug: Acting on config options left us in a broken state. Dying.
Выполнение sudo tor
создал бы папку и имя хоста записи и private_key файлы там.
Таким образом, мой вопрос состоит в том, как я мог добраться sudo service tor start
работа? Это так или иначе не имеет корня, ни полномочий debian-скалистой-вершины записать там, или возможно я пропускаю что-то. Или если я просто не использую /etc/init.d/tor
сценарий для управления им?
Существует простой ответ - AppArmor. Это ограничивает ресурсы для Вас сервисы. Можно найти детали здесь man apparmor
или посмотреть здесь http://wiki.apparmor.net/index.php/QuickProfileLanguage
, Таким образом, необходимо добавить правила к/etc/apparmor.d/local/system_tor
# Site-specific additions and overrides for system_tor.
# For more details, please see /etc/apparmor.d/local/README.
/home/debian-tor/tor_keys/* rwmk,
Затем sudo service apparmor restart
, И он будет работать как sharm.
sudo service tor restart
sudo service tor status
tail /var/log/tor/log
torify links my_abracadabra.onion
и так далее...