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-daemon
y tampoco hay nada /etc/default/transmission-daemon
sobre 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,
setuid
ysetgid
son 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.json
normalmente.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-reload
también.Suposiciones
ppa:transmissionbt/ppa
some_user
y el grupo:some_group
Para 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-transmission
aUSER=some_user
Para 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-transmission
asetuid some_user
y cambiar
setgid debian-transmission
asetgid some_group
Para 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.conf
Las 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.json
y/var/lib/transmission-daemon
Notas y referencias
/etc/default/transmission-daemon
solo 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-transmission
aluser=some_user
y desdegroup=debian-transmission
agroup=some_group
.Verifique la ubicación de su Directorio de configuración de transmisión. Puede encontrarlo mencionado en el
/etc/default/transmission-daemon
archivo 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_user
aUSER=debian-transmission
Vuelva 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.service
Edición de seguimiento con:
sudo systemctl daemon-reload
fuente
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.service
con:Tenga en cuenta el
User
,--config-dir
y los--log-debug
cambios.Recargar la configuración de systemd:
Inicia el demonio nuevamente:
Una vez que haya configurado la
--log-debug
opció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.service
manualmente. Usesystemctl edit transmission-daemon.service
en 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)