Я установил Transmission через PPA, и демон запускается при загрузке. Я хочу изменить пользователя, который запускает демон, потому что я хочу, чтобы загруженные файлы были под тем же пользователем, что и моя установка XBMC, и я не могу найти, где это редактировать.
Демон использует upstart, поэтому нет ничего о том, в каких пользователях он запускается, и в /etc/init.d/transmission-daemon
этом нет ничего и /etc/default/transmission-daemon
о пользователе.
Я использую эти PPA для передачи:
/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list:deb //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main
/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list:deb-src //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main
/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list.save:deb //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main
/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list.save:deb-src //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main
services
upstart
transmission
BvdBijl
источник
источник
Ответы:
Начиная с версии upstart v1.4
setuid
иsetgid
поддерживаются в конфигурационном файле:а также
До версии 1.4 вы можете использовать это ( как описано здесь ):
источник
Поскольку все остальные ответы относятся к Ubuntu pre-systemd, вот обновленное руководство по Ubuntu 16.04 ( по адресу sensecodons.com). ). По сути, создайте дополнительный модуль для "translation-daemon.service", чтобы изменить
User=...
настройку, а затем обновите файл этого пользователя "~ / .config / transmission-daemon / settings.json".Затем вы захотите запустить, а затем остановить передачу, чтобы создать
~/.config/transmission-daemon/
каталог для вашего нового пользователя.Отсюда вы сможете обновить
~/.config/transmission-daemon/settings.json
нормально .Когда вы закончите, начните передачу.
источник
systemctl edit transmission-daemon.service
, который автоматически 1. создаст этот каталог и файл и 2. при сохранении и выходе также запуститсяsystemctl daemon-reload
.Предположения:
ppa:transmissionbt/ppa
some_user
и группой:some_group
Для системы инициализации System V (SysV) (например: Ubuntu 10.04 LTS):
Остановите демон передачи:
Отредактируйте сценарии init.d
... и изменить
USER=debian-transmission
наUSER=some_user
Для системы инициализации Upstart (например: Ubuntu 14.04 LTS):
Остановите демон передачи:
Отредактируйте сценарии инициализации:
... и отредактируйте следующим образом:
изменить
setuid debian-transmission
наsetuid some_user
и изменить
setgid debian-transmission
наsetgid some_group
Для systemd init system (например: Ubuntu 16.04 LTS):
Остановите демон передачи:
Создайте файл systemd override.conf:
... и отредактируйте следующим образом:
Ноты:
Это создает следующий файл:
/etc/systemd/system/transmission-daemon.service.d/override.conf
Пустые назначения переменных (например
User=
:) используются для очистки / сброса значения в существующей переменной. Похоже, именно так все и делается при использовании замены модуля systemd. Смотрите: «Пример 2. Переопределение настроек вендора» в руководстве systemd.unit :Системная перезагрузка и запуск демона передачи:
Примечание: В отличие от Upstart и SysV инициализации системы передачи-демон сохраняет все настройки и настройки
/home/some_user/.config/transmission-daemon/
вместо/etc/transmission-daemon/settings.json
и/var/lib/transmission-daemon
Примечания и ссылки
/etc/default/transmission-daemon
используется только сценариями Upstart (/etc/init.d/transmission-daemon
) и SysV (/etc/init/transmission-daemon.conf
), поэтому, если вы используете систему инициализации Systemd, вы можете игнорировать все эти файлы.Запуск передачи от имени пользователя в Ubuntu 16.04
Reddit: изменение пользователя systemd с заменой дропина для демона передачи не работает
Stack-Exchange: смена системного пользователя с заменой дроп-ин для не работающего демона передачи
Необязательная / дополнительная информация о разрешениях и обновлениях пакетов:
Изменение разрешений для файлов конфигурации Transmission
Если вы не используете systemd init system, вам может потребоваться изменить разрешения для файлов конфигурации Transmission с
user=debian-transmission
наuser=some_user
и сgroup=debian-transmission
наgroup=some_group
.Проверьте расположение вашего каталога конфигурации передачи. Вы можете найти это упомянутое в
/etc/default/transmission-daemon
файле в виде строки так:Таким образом, предполагая, что ваш каталог конфигурации - это
/var/lib/transmission-daemon/info
, измените владельца файлов конфигурации:Смена владельца других файлов:
Дополнительная информация (обновление передачи):
Поскольку вы изменили пользователя по умолчанию, вы можете обнаружить, что после обновления Transmission с использованием репозитория (например, apt-get upgrade) демон передачи больше не работает.
Запуск «sudo apt-get -f install» приводит к следующей ошибке:
Причина, по которой демон не запускается ("invoke-rc.d: initscript translation-daemon, действие" start "fail.") В том, что мы изменили разрешения с "debian-translation" на "some_user" и после обновления они получили сброс , Для исправления просто сделайте следующее:
Остановите демон и отредактируйте файл конфигурации:
... и изменить
USER=some_user
наUSER=debian-transmission
Еще раз попробуйте исправить обновление, запустив:
Если обновление прошло успешно, теперь должен работать демон Transmission. Теперь вы можете выполнить действия, описанные выше, чтобы снова изменить пользователя / группу.
источник
Это не полная история. Помимо изменения
а также
в
вам также нужно изменить права доступа к файлу конфигурации демона передачи. В противном случае он не сможет перезаписать настройки в этот файл, и демон будет перезапущен до тех пор, пока upstart не решит, что у него достаточно шансов (init: передача-демон восстанавливается слишком быстро, остановлен)
источник
settings.json
. Пропустил это.В системах, использующих systemd, файл, который вы хотите отредактировать, на самом деле может быть:
/etc/systemd/system/multi-user.target.wants/transmission-daemon.service
Продолжайте редактирование с помощью:
sudo systemctl daemon-reload
источник
В Ubuntu 16.04 служба запуска была изменена с upstart на systemd, что делает необходимость предыдущих ответов устаревшей. Чтобы изменить пользовательские запуски-передачи, выполните:
Стоп демон:
Смена владельца конфигурационных файлов и «home»:
Затем отредактируйте файл
/lib/systemd/system/transmission-daemon.service
с помощью:Пожалуйста, обратите внимание
User
,--config-dir
и--log-debug
изменения.Перезагрузите конфигурацию systemd:
Запустите демон снова:
После того, как вы установили
--log-debug
опцию (которая даст вам больше информации о любой проблеме), вы можете получить журнал демона:Выполнено.
Что следует отметить:
Вы можете игнорировать файлы:
/etc/default/transmission-daemon
Похоже, никто не использует его в системных системах./etc/init.d/transmission-daemon
Похоже, это был старый стартовый скрипт системы 5./etc/init/transmission-daemon.conf
Кажется, это старый стартовый скрипт выскочки.источник
/lib/systemd/system/transmission-daemon.service
вручную. Используйтеsystemctl edit transmission-daemon.service
вместо этого, иначе ваши изменения будут потеряны при обновлении пакета.Я сделал следующее, что мне кажется менее агрессивным, чем другие ответы.
Удалите запуск демона передачи:
Добавьте следующее к
/etc/profile
:Создать
~/.autostart
:Это, пожалуй, более переносимо, у меня это работает и на обычном Debian, и на минибайне.
источник
/etc/profile
(например, zsh не выполняет ее)