Instalé Transmisión a través de un PPA y el demonio comienza en el arranque. Quiero cambiar el usuario que ejecuta el daemon porque quiero que los archivos descargados estén bajo el mismo usuario que mi instalación de XBMC, y parece que no puedo encontrar dónde editar eso.
El daemon usa el sistema de arranque, por lo que no hay nada sobre qué usuarios lo ejecutan /etc/init.d/transmission-daemony tampoco hay nada /etc/default/transmission-daemonsobre el usuario
Estoy usando estos ppas para la transmisión:
/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
fuente
fuente

Respuestas:
A partir de la versión inicial 1.4,
setuidysetgidson compatibles de forma nativa en el archivo de configuración:y
Antes de la v1.4 puede usar esto ( como se describe aquí ):
fuente
Como todas las otras respuestas son para Ubuntu pre-systemd, aquí hay una guía actualizada para Ubuntu 16.04 ( de sensecodons.com ). Básicamente, cree una unidad suplementaria para "transmission-daemon.service" para cambiar la
User=...configuración y luego actualice el archivo "~ / .config / transmission-daemon / settings.json" de ese usuario.A continuación, querrá comenzar y luego detener la transmisión para que cree el
~/.config/transmission-daemon/directorio para su nuevo usuario.Desde aquí, deberías poder actualizar
~/.config/transmission-daemon/settings.jsonnormalmente.Cuando termines, comienza la transmisión.
fuente
systemctl edit transmission-daemon.service, que automáticamente 1. creará ese directorio y archivo, y 2. cuando guarde y salga, ejecutesystemctl daemon-reloadtambién.Suposiciones
ppa:transmissionbt/ppasome_usery el grupo:some_groupPara el sistema init System V (SysV) (por ejemplo: Ubuntu 10.04 LTS):
Detener el demonio de transmisión:
Edite los scripts init.d
... y cambiar
USER=debian-transmissionaUSER=some_userPara el sistema de inicio Upstart (por ejemplo: Ubuntu 14.04 LTS):
Detener el demonio de transmisión:
Edite los guiones de inicio:
... y edite de la siguiente manera:
cambiar
setuid debian-transmissionasetuid some_usery cambiar
setgid debian-transmissionasetgid some_groupPara el sistema systemd init (por ejemplo: Ubuntu 16.04 LTS):
Detener el demonio de transmisión:
Cree el archivo systemd override.conf:
... y edite de la siguiente manera:
Notas:
Esto crea el siguiente archivo:
/etc/systemd/system/transmission-daemon.service.d/override.confLas asignaciones de variables vacías (por ejemplo:)
User=se utilizan para borrar / restablecer el valor en la variable existente. Esto parece ser cómo se hacen las cosas cuando se usa el reemplazo directo del archivo de unidad systemd. Consulte: "Ejemplo 2. Anulación de la configuración del proveedor" en systemd.unit manual :Systemd recarga e inicia el demonio de transmisión:
Nota: a diferencia de los sistemas de inicio Upstart y SysV, el demonio de transmisión guarda toda la configuración y la configuración en
/home/some_user/.config/transmission-daemon/lugar de/etc/transmission-daemon/settings.jsony/var/lib/transmission-daemonNotas y referencias
/etc/default/transmission-daemonsolo lo usan los scripts de Upstart (/etc/init.d/transmission-daemon) y los scripts de SysV (/etc/init/transmission-daemon.conf) y, por lo tanto, si está utilizando el sistema de inicio Systemd, puede ignorar todos estos archivos.Ejecución de transmisión como usuario en Ubuntu 16.04
Reddit: el cambio de usuario systemd con reemplazo directo para el demonio de transmisión no funciona
Stack-Exchange: el cambio de usuario systemd con reemplazo directo para el demonio de transmisión no funciona
Información opcional / adicional sobre permisos y actualizaciones de paquetes:
Cambio de permisos en los archivos de configuración de transmisión
Si no está utilizando el sistema init systemd que ahora puede que tenga que cambiar los permisos para los archivos de configuración de transmisión de
user=debian-transmissionaluser=some_usery desdegroup=debian-transmissionagroup=some_group.Verifique la ubicación de su Directorio de configuración de transmisión. Puede encontrarlo mencionado en el
/etc/default/transmission-daemonarchivo como una línea así:Asumiendo que su directorio de configuración es
/var/lib/transmission-daemon/info, cambie la propiedad de los archivos de configuración:Cambiar la propiedad de otros archivos:
Información adicional (actualización de transmisión):
Debido a que cambió el usuario predeterminado, puede encontrar que después de actualizar la transmisión utilizando el repositorio (por ejemplo: apt-get upgrade), el demonio de transmisión ya no se está ejecutando.
Ejecutar "sudo apt-get -f install" da el siguiente error:
La razón por la cual el demonio no se inicia ("invoke-rc.d: initscript transmission-daemon, action" start "failure.") Es porque cambiamos los permisos de "debian-transmission" a "some_user" y después de la actualización, estos se restablecieron . Entonces, para solucionarlo, haga lo siguiente:
Detenga Daemon y edite el archivo de configuración:
... y cambiar
USER=some_useraUSER=debian-transmissionVuelva a intentar arreglar la actualización ejecutando:
Si la actualización se realiza correctamente, el demonio de transmisión ahora debería estar ejecutándose. Ahora puede seguir los pasos anteriores para cambiar de nuevo usuario / grupo.
fuente
Esta no es la historia completa. Aparte de cambiar
y
en
También debe cambiar los permisos del archivo de configuración de Transmission-Daemon. De lo contrario, no podrá volver a escribir la configuración en este archivo y el demonio se reiniciará hasta que el advenedizo piense que tiene suficientes posibilidades (init: la transmisión-demonio reaparece demasiado rápido, se detiene)
fuente
settings.json. Me perdí eso.En los sistemas que usan systemd, el archivo que desea editar puede ser:
/etc/systemd/system/multi-user.target.wants/transmission-daemon.serviceEdición de seguimiento con:
sudo systemctl daemon-reloadfuente
En Ubuntu 16.04, el servicio de inicio se cambió de upstart a systemd, lo que dejó obsoletas las respuestas anteriores. Para cambiar las ejecuciones de demonio de transmisión del usuario, ejecute:
Deja de demonio:
Cambiar la propiedad de los archivos de configuración y "inicio":
Luego edite el archivo
/lib/systemd/system/transmission-daemon.servicecon:Tenga en cuenta el
User,--config-diry los--log-debugcambios.Recargar la configuración de systemd:
Inicia el demonio nuevamente:
Una vez que haya configurado la
--log-debugopción (que le dará más información sobre cualquier problema), puede obtener el registro del demonio:Hecho.
Cosas a tener en cuenta:
Puedes ignorar los archivos:
/etc/default/transmission-daemon: Parece que nadie lo está buscando en sistemas systemd./etc/init.d/transmission-daemon: Parece que este era el antiguo script de inicio del sistema 5./etc/init/transmission-daemon.conf: Parece que este es el antiguo script de inicio de arranque.fuente
/lib/systemd/system/transmission-daemon.servicemanualmente. Usesystemctl edit transmission-daemon.serviceen su lugar, o sus cambios se perderán cuando actualice el paquete.Hice lo siguiente, que me parece menos invasivo que las otras respuestas.
Elimina el inicio de transmisión-daemon:
Agregue lo siguiente a
/etc/profile:Crear
~/.autostart:Esto es un poco más portátil quizás, también funciona para mí en Debian y minibian.
fuente
/etc/profile(zsh no lo ejecuta, por ejemplo)